E D R , A S I H C RSS

Full text search for "CxImage 사용"

Cx Image%20%EC%82%AC%EC%9A%A9


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Linux/필수명령어/용법 . . . . 342 matches
         사용자를 새로 등록한다.
         이것은 슈퍼 유저만이 사용할 수 있다. 명령을 입력하면 로그온 이름 등을 차례로 물어오며, 그에 따라서 알맞게 입력해 나가면 된다.
         - Full name: Park Chan Wook ,,사용자 전체 이름을 입력
         - GD [100]: ,,정해주는 값을 그냥 사용한다.
         그외에도 홈 디렉토리에 사용하는 셸 등을 계속 물어오는데, 대괄호 속에 내정된 것을 그냥 사용하고자 한다면 엔터키만 누르면 된다. 패스워드 등을 입력하고 나면 지금까지 입력된 정보를 보여주고, 몇 가지 생성 작업을 화면으로 보여준 후 작업을 종료한다.
         -m : 작업이 완결되면 사용자에게 메일을 보낸다.
         명령은 기본적으로 표준 입력 장치를 통해서 받으며, ^D로 입력을 종료한다. 리다이렉션을 사용하여 다른 파일의 내용을 사용할 수 있다.
         /etc/at.allow 파일이 있다면 이 파일에 명단이 있는 사용자만이 at 명령을 사용할 수 있다. /etc/at.allow 파일이 없다면 /etc/at.deny 파일을 찾는다. 이 파일에 목록이 있는 사용자는 at 명령을 사용할 수 없다. 두 파일 모두 찾지 못한다면 오로지 슈퍼 유저만이 at 명령을 사용할 수 있다. 그리고 /etc/at.deny 파일이 비어 있다면 모든 사용자가 at 명령을 사용할 수 있다.
         시간을 지정할 때 상당히 다양한 방법을 사용할 수 있다. hhmm 혹은 hh:mm 형태도 가능하며, noon, midnight이나 오후 4시를 의미하는 teatime이라고도 할 수 있다. 오전 오후를 쉽게 구분하려면 am pm 문자를 추가해도 된다. 이미 지나간 시간이라면 다음 날 그 시간에 수행될 것이다. 정확한 날짜를 지정하려면 mmddyy 혹은 mm/dd/yy 아니면 dd.mm.yy 형태 중 선택하라.
         현재부터 얼마의 시간이 경과한 후에 수행할지를 지정하려면 기호를 사용하라. 이 기호뒤에 숫자를 명시하고, 다시 뒤에 그 숫자의 단위가 무엇인지 지정하면 된다.
         사용
         사용
         이것은 리눅스의 Boume 셸이다. sh를 사용하면 sh가 bash를 호출하여 실행한다. bash를 직접 사용하지 말고 sh를 사용하도록 하라.
         유닉스 셸은 사용중이라도 주기적으로 전자우편의 수신 여부를 점검한다. 만일 사용자가 전자우편이 도착하는 즉시 알고자 한다면 biff를 사용하여 그것을 지시할 수 있다. 또는 언제라도 그 기능을 해제할 수도 있다. biff는 인수없이 사용되면 현재 어떤 상태로 되어 있는지 보여준다. 기능 설정과 해제 여부는 y 혹은 n 인수를 주어서 결정한다.
         사용
         인수를 하나만 준다면 그 숫자는 연도를 의미하는 것으로 간주된다. 두 개의 숫자를 준다면 앞의 것은 월, 그 다음은 연도를 의미하는 것이 된다. 우리의 습관과는 다른 방법을 사용한다. 아무 인수도 주어지지 않으면 이번달의 달력을 표시한다. 연도를 표기할 때는 서기를 완전히 표기해야 한다. 예를들어 97은 1997년이 아니라 서기 97년의 달력을 출력할 것이다.
         사용
         cat은 catenate(사슬로 잇다. 연결하다)에서 이름이 유래한다. 이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다.
         -A : -vET 옵션을 사용한 것과 같은 효과를 가진다.
         사용
  • MoreEffectiveC++/Techniques1of3 . . . . 60 matches
         가상 생성자, 이것에 관해서 생각해 보기는 좀 생소하다. 사실 가상 함수를 부를려면, 객체에대한 참조나, 포인터를 가지고 있어야 하는데, 생성할때 부터 가상(virtual) 함수를 사용한다? 좀 이상하지 않은가? 어떨때, 어떻게 이 '''가상 생성자''' 라는걸 써먹을수 있을꺼?
         NewsLetter 객체는 아마 디스크에서 자료를 적재할 것이다. NewsLetter가 디스크에서 자료를 가지고 보여주기 위해 istream을 사용해서 NewsLetter를 구성할 객체들을 생성한다고 가정한다면 다음과 같은 코드들을 대강 만들수 있는데
         하지만 출력해야할 스트림 객체가 righ-hand 객체라는것이 사용자 입장에서 불편하게 만든다. 우리가 보통 사용하는 것처럼 스트림 객체에 출력할 객체를 넣는 다는 개념이 적용되지 않는 것이리라. 하지만, 전역 함수나 friend함수를 이용해서 구현한다면 더이상 가상함수로 구현할수가 없게 된다. 여기서의 방법이 비멤버 함수를 이용하는 것이다.
         비멤버 함수의 가상(virtual)관련 사용에 대하여 더 다루자면 내용이 복잡해 진다. 이에 대한 관련 사항은 Item 31을 참고하라
          // 객체의 사용권한을 부여 하는 역할을 한다.
         클라이언트 입장에서는 이렇게 사용하면 된다.
         하지만 이렇게 구현시에는 thePrinter가 "'''전역 공간을 사용해야 한다.'''" 것으로 코드를 약하게 만든다. 알다 시피, 전역 공간의 사용은 되도록이면 피해야 하는 방법이며, thePrinter를 Printer클래스 내부에 숨기기를 추천하다. thePrinter를 Printer클래스 내부 메소드로 넣어 버리고, friend를 삭제해 보자.
         그리고 이를 사용하는 클라이언트 측에서는 다음과 같은 방법으로 사용하면 되겠다.
         전역 공간 사용에 대한 문제의 해결책의 또다른 접근 방법이라고 한다면, name space를 사용하는 것이다. 다음과 같이 단순히 PrintingStuff name space로 묶어 버린다.
         물론 using 키워드를 사용해서 해당 이름을 자유롭게 사용할수 잇다.
         thePrinter().reset(); // 그리고 사용하는 과정
         '''첫번째'''로 만들어지는 객체의 위치이다. 위의 제시된 두가지의 방법에서, Printer 정적(staitc) 객체가 하나는 friend로 클래스의 제어권을 획득한 함수 내부에 있고, 또 하나는 클래스 멤버 메소드 내부에 있다. 함수에 있는 경우에는 정적(static) 객체는 항상 만들어져 있다. 이 의미는 해당 코드의 프로그램이 시작될때 부터 아예 객체가 만들어 진다는 의미이다. 즉, 한번도 그 객체를 사용하지 않아도, 객체는 이미 만들어져 비용을 지출하게 한다. 반면에, 함수 멤버 메소드 내부에 정적(static)객체를 만들 후자의 경우에는 객체를 만드는 역할을 하는 메소드인 Printer::thePrinter 가 제일 처음 호출될때 객체가 생성된다. 이것은 C++에서 "사용하지 않는 객체에 대한 비용은 지불하지 않는다."의 설계 다소 복잡한 이념에 근간을 둔 개념이다. 그리고 이러한 복잡한 개념은 당신을 해깔리게 만든다.
         다음과 같은 코드의 함수는 매우 짧다. 이런 짧은 함수는 함수보다 inline 시켜서 속도를 높이는 것이 더 효과적이다. 하지만 그럴수가 없다. 왜 그런가 하면, inline의 의미는 정확히 해당 함수가 쓰이는 코드를 현재 함수의 몸체로 교체해 버리는 역할이다. 그런게 이렇게 할경우, 위와 같은 함수는 static객체의 처리에서 의문이 생긴다. 해당 함수가 호출된 곳을 위와 같은 함수 몸체로 교체하면, 각 교체 부분은 전부 독립적인 static 인자를 부여 받는 셈이 되어 버린다. 그래서 정적 인자를 쓴 함수는 inline을 시키지 못하며, 이런 정적 인자의 사용에 따라 일어나는 의문을 internal linkage를 가진 문제 라고 한다. DeleteMe) 날림 요약 수정 필요
         자, 똑똑한 사람 이라면 당연히, 지금까지의 코드에서 의문점과 문법에 대한 의아함을 일으 킬수 있다. thePrinter는 둘다 내부에 있는 static 객체의 참조를 반환하는데, 이 "static 객체는 해당 함수,메소드의 영역(scop) 내부에서 쓰여야지 외부에서 쓰이면 안되지 않는가?" 라는 의문이 그것이다. 즉, 클라이언트 입장에서 이들 객체는 숨겨져(hidden)있는 존재이고, 이것을 사용하는 것은 잘못된 방법이다. 라고 말할수 있겠는데, 그래서 아마 당신은 다음과 같이 객체의 숫자를 세고, 제한된 객체의 수보다 더 많은 객체를 사용시 예외를 발생시켜서 문제를 해결하는 것이 더 좋은 방법이라 말할 것이다.
         이런 아이디어는 numObject를 사용해서 Printer객체의 수를 제한 시켜 버리는 것이다. 위에도 언급하였듯이 객체의 수가 1개를 초과하면, TooManyObject 예외를 발생시킨다.
         이러한 접근 방법은 매력적이며, 단지 객체의 수를 1개에 국한 하지 않고, 특정 숫자로 조정할수 있는 이점이 있다. 사용하기는 귀찮아도 말이다. 하지만 이 것의 문제를 바로 다루어 주겠다.
         그리고 다음과 같이 사용한다고 가정해 보자.
         Printer 객체가 존재할수 있는 세가지의 상황에서 이런 문제는 발생 될수 있다. : 그냥 그들 자체를 선언해서 사용하기. 다른 클래스로 유도될때. 좀더 큰 클래스에서 해당 클래스를 인자로 포용할때 이다. 하지만 숫자로 제어하고, 예외를 발생시키는 방법이 아닌 생성자가 사역(private)인자로 들어간 경우에는 해당 클래스에서 유도된 클래스들도 생성하지 못하며, 다른 클래스의 인자로도 들어갈수가 없어서, 이런 문제들이 봉쇄된다.
         이제, 단일한 객체 만들기 방법에 관한 디자인 방법은 알수 있을 것이다. 그리고, 객체를 숫자로 제어하는 것은 세가지의 생성 상황에 의해서 폭잡한 상황을 만들어 나간다는 것을 알것이다. 이것을 위해서 생성자의 사역(private)역시 설명했다. 캡슐화된 thePrinter함수는 Printer라는 단일한 객체를 제한하고, 그것을 사용할수 있게 한다. thePrinter가 대안일까. 하지만 결국 thePrinter는 C++의 일반적인 방법인 이러한 디자인의 코드를 불가능하게 한다.
         이런 디자인은 단일 Printer객체에 관해서 행하여 질수는 없다. 하지만 서로 다른 프로그램의 서로 다른 부분에서 Printer객체는 이렇게 사용되어 질수 있다. 이것 역시 허용하지 못하게하는 것까지는 필요 없을것 같은데, 아무튼 오직 하나의 프린터 객체만 유지 시킨다는 것에는 벗어나지는 않는 거다. 하지만 여기에 우리가 해왔던 object-counting방법과, 일찍이 쓴 가짜 생성자(pseudo-constructor)를 혼합해서 기능을 구현해 본다.
  • MoreEffectiveC++/Techniques2of3 . . . . 60 matches
         이것으로 StringValue의 구현은 일단 끝이다. 이를 사용하는 String 객체의 구현에 들어가야 한다.
         이 코드를 사용하는 상황은 다음과 같고,
         생성자의 손쉬운 구현같이 파괴자 구현도 그리 어려운 일이 아니다. StringValue의 파괴는, 서로가 최대한 사용하고, 값이 파괴 시점은 참조 카운터가(reference counter:이하 참조 카운터만) 1인 경우 더이상 사용하는 객체가 없으므로 파괴하도록 구성한다.
         다음과 같이 사용되며
         (이 함수는 원래의 C++에서 배열의 사용 개념과 같이, index의 유효성을 점검하지 않는다. 이에 대한 감은은 참조 세기의 주제에 떨어져 있고, 추가하는 것도 그리 어려운일이 아니라 일단은 제외한다.)
         만약 Item 30에 언급되는 proxy 클래스 방법을 사용해서 읽는 작업과, 쓰는 작업에 대한 것을 구분한다면 StringValue 객체의 숫자를 좀더 줄일수 있을 것이다. 그건 다음 장에서 보자.
         참조세기는 단지 string의 경우에만 유용한걸까? 다른 객체 역시 참조세기를 적용해서 사용할수는 없을까? 생각해 보면 참조세기를 구현하기 위해서는 지금까지의 언급의 기능을 묶어서 재사용 가능하게 만들면 좋을것 같은데, 한번 만들어 보도록 하자.
         제일 처음에 해야 할일은 참조세기가 적용된 객체를 위한 (reference-counded object) RCObject같은 기초 클래스를 만드는 것이다. 어떠한 클라스라도 이 클래스를 상속받으면 자동적으로 참조세기의 기능이 구현되는 형식을 바라는 것이다. 그러기 위해서는 RCObject가 가지고 있어야 하는 능력은 카운터에 대한 증감에 대한 능력일 것이다. 게다가 더 이상, 사용이 필요 없는 시점에서는 파괴되어야 한것이다. 다시말해, 파괴되는 시점은 카운터의 인자가 0이 될때이다. 그리고 공유 허용 플래그에 대한(shareable flag) 관한 것은, 현재가 공유 가능한 상태인지 검증하는 메소드와, 공유를 묶어 버리는 메소드, 이렇게만 있으면 될것이다. 공유를 푼다는 것은 지금까지의 생각으로는 불가능한 것이기 때문이다.
         의문 하나, 흥미롭게도 처음에 refCount를 0으로 세팅한다. 이건 직관적이지 못하게 보이는데, 확실히 새로 만들어지는 RCObject의 생성자는 새로 만들어진 RCObject를 참조하고 있을 것이기 때문이다. 하지만 이러한 이유는, 새로운 객체가 할당된 뒤에 유도된 클래스 스스로, refCount를 증가 시켜주기위해서 이다. 이것이 사용자에게 더 명시적인 코드를 작성하게 된다.
         RCObject는 참조 카운터를 보관하고, 카운터의 증감을 해당 클래스의 멤버 함수로 지원한다. 하지만 이건 유도되는 다른 클래스에 의하여, 손수 코딩이 되어야 한다. 즉, 위의 경우라면, StirngValue 클래스에서 addReference, removeReference 를 호출하면서, 일일이 코딩해 주어야 한다. 이것은 재사용 클래스로서 보기 않좋은데, 이것을 어떻게 자동화 할수는 없을까? C++는 이런 재사용을 지원할수 있을까.
         StringValue 객체의 refCount의 증감을 위해서는 상당히 많은 양의 코딩이 들어가야 할것이다. 복사할때, 재 할당 받을때, 그리고 해당 값이 파괴되어 질때, 이런 모든것을 자동화 시키는 것이 이번 장의 목적이다. 여기서 StringValue를 전장에 언급했던 스마트 포인터 기술을 적용해서 이런 참조 세기에 관해서 재사용을 넘어 자동화를 시켜 보자.
         드디어 끝이다. 스마트 포인터와, 기초 클래스로 이제 재사용 가능한 참조세기를 구현할수 있다. 지금까지 하나하나 만들어온 것을 이번에 모두 합쳐서 표현해 보자.
         class String{ // application 개발자가 사용하는 클래스
         이 String클래스를 위한 코드와, 그냥 더미(dumb)포인터를 사용한 클래스(처음에 참조세기 구현한것)와는 두가지의 큰 차이점이 있다. '''첫번째'''로 이 클래스의 코드가 굉장히 적다는 점이다. 이유는, RCPtr이 참조세는 작업을 모두 맡아서 이다. '''두번째'''로는 스마트 포인터로 교체했지만, String의 코드가 거의 유지된다는 점이다. 사실 변화는 operator[]에서만 공유의 경우를 체크하는 루틴 때문에 바뀌었다. 이렇게 스마트 포인터로서 손수 해야하는 작업들이 많이 줄어 든다.
         대단하지 않은가? 누가 객체를 사용하지 않을까? 누가 캡슐화를 반대할까? 하지만, 이러한 신기한 String 클래스에 관한 기반 생각은 클라이언트 측에서 새부사항을 알필요가 없어야 밑이 나는 것이다. 알아야 할것이 없을수록 더 좋은 상태이다. 현재, String을 쓰는 기본 인터페이스는 바뀐것이 없다. 단지 참조세기의 기능이 추가되었을 뿐이다. 그래서 클라이언트는 기존 코드를 고칠 필요가 없다. 단, 재 컴파일(recompile)과 재링크(relink) 과정만이 남아 있을 것이다. 이러한 비용은 참조세기가 주는 이득에 비하면 정말 완전히 없는 비용이나 마찬가지이다. 캡슐화는 정말 좋은거다. (작성자주:뭐야 이 결론은..)
         참조세기의 구현은 공짜가 아니다. 모든 참조세기는 참조세기에 대한 그만한 비용을 지출하야 하는데, 사용자는 이러한 방법론의 적용에, 검증을 원한다. 단순히 보면, 참조세기는 더 많은 메모리를 잡아먹게도 할수 잇고, 더 많은 코드를 잡아 먹게 할수 있다. 거기에다 모잘라, 코드를 더 복잡하게 하고, 정성들여 만든 코드에 대하여 망쳐 버릴수도 있다. 마지막에 최종 구현된 String(StringValue, RCObject, RCPtr이 적용된 버전) 클래스 보다는, 보통 잡조세기가 적용 안된 코드들을 쓴다. 사실 우리가 디자인한 좀더 복잡한 디자인은 자료의 공유로 더 좋은 효율을 끌어 들인다. 그것은 객체의 소유권들을 주리고, 참조세기의 재사용 방법에 대한 생각들을 제시한다. 그럼에도, 네가지의 클래스를 사용해야 하고, 태스트하고, 문서화하고, 유지 ㅗ스하는데에는, 하나의 클래스를 작성,문서화,유지보수 하는것보다 더 많은 일을 부담하게 만든다.
          * '''적은 자료를 많은 객체들이 사용하고자 한다.''' 이러한 경우에는 생성자와 복사에 관한 비용이 많이 든다. 이런 경우 참조세기의 적용이 더 놓은 효율을 끌어 낼수 있을 것이다.
          * '''객체를 생성하고, 파괴하는데 높은 비용을 지불해야 하거나, 많은 메모를 사용한다.''' 이러한 경우 조차 참조세기는 많은 객체가 공유하면 할수록 비용을 줄여 줄것이다.
         지금까지의 구현으로 참조세이긔 자료는 heap영역에만 선언할수 있다. 아무리 지역 변수로 선언한들, 내부에서 자료는 heap영역에 선언하여, 관리된다. 정확한 선언이된 클래스를 만들어야 하고, 그래서 확실히 동작하는가 확신할수 있는 버그 없는 코드를 만들어야한다. 그리고 이 참조세기 기본클래스가 우리의 손을 올바르게 떠나는 것은 사용 방법에 대하여 정확한 기술이 필요하다.
         보통 우리는 일차원 배열을 사용한다. 하지만 일반적으로 실제로 자료의 표현에는 그러지가 못하다. 불행히도 C++는 이차원 이상의 자료구조를 잘 취급하지 못한다. 최소한 배열에 대한 지원은 언어가 가져야하는 최소한의 배려이다.(작성자주:멋대로 의역) FORTRAN이나 BASIC, COBOL에서 일차원, 이차원, ... 다차원 배열을 만들수 있다. (그래, FORTRAN은 7차원 까지밖에 안된다. 이거 딴지다. 넘어가자) 하지만 C++에서 할수 있나? 때론 오직 정렬을 위해서만 일것이다.
  • HolubOnPatterns/밑줄긋기 . . . . 58 matches
          * 스포츠를 사용해서 비유를 하는건 쉽게 이해는 되는데, 항상 별로 재미없어. - [김준석]
          * 이디엄은 일상적으로 사용하게 된 패턴이다.
          * 지금은 이디엄이 되어 누구나 아무 생각 없이 사용하는 상속이 패턴이었다는 사실도 재미있고 C언어가 왕이었다는 표현도 재미있네요. - [김수경]
          * 패턴은 어떤 류의 문제를 해결하기 위해 사용되는 일반적인 기술이다.
          * 그들은 패턴 자체를 패턴을 설명하기 위해 사용한 코드와 혼동하고 있는 것이다.
          * 현실에서는 한 패턴에 참여하고 있는 객체와 클래스가 동시에 다른 패턴에서도 사용되는 경우가 매우 많다.
          * 패턴의 실체화 방식은 다양하지만 여러분이 좋아하는 요소만 쏙 뽑아 사용할 수는 없다.
          * 즉 패턴을 사용하지 않고 설명하는 것보다 훨씬 짧고 훨씬 명확했다.
          * '우둔한 프로그래머와 아키텍처'는 패턴이 항상 좋은 것이며 가능한 모든 곳에서 사용해야 한다고 일관되게 믿는다.
          * 그리고는 구현하고 나서는 스스로 납득을 하게 됩니다. '이러이러하게 하는게 더 좋은 사용자 경험을 제공할 수 있을거야.' 는 무슨 -_-; - [박성현]
          * 사용자가 무언가를 정말로 하고 싶어한다면 이에 대해 질문하지 말아야 한다고 주장한다.
          * 여러 패턴들이 서로 관련이 있으며 실제 프로그래밍할 때는 이들을 엮어 함께 사용하는 경우가 많다는 사실만 명심하면 된다.
          * 사실 많은 절차 지향적 프로그램은 사용자 인터페이스를 통해 데이터베이스 테이블을 보여주는 역할을 할 뿐이다.
          * 어떤 언어의 기능 혹은 이디엄이 초래할 수 있는 폐해를 이해하면 해당 기능과 이디엄을 사용하는 것이 적절한지 아닌지 좀 더 현명하게 결정할 수 있다.
          * 중요한 것은 원리이지 사용하고 있는 언어가 아니다.
          * 리라(lira)를 통화로 사용하던 이탈리아가 유럽의 단일 통화인 유로(euro)를 사용하게 되면서 겪었던 고통을 상상해 보자
          * 이 말이 메소드가 값을 반화하면 안 된다거나 'get'혹은 'set'기능이 언제나 부적절하다는 것은 아니다. 객체는 때때로 시스템 전반을 흘러다니며 작업을 수행하도록 도와주어야 한다. 하지만 많은 경우 get/set 메소드는 private 필드를 접근하는 용도로만 부적절하게 사용되며, 이런 사용이 많은 문제를 발생시킨다.
          * 아무 생각 없이 접근 메소드와 수정 메소드를 사용하는 것은 public 필드를 사용하는 것이 위험한 것과 같은 이유로 똑같이 위험하다.
          * 구현은닉이라는 원리는 객체 지향 시스템의 품질을 평가하는 좋은 지표가 된다. 클래스의 구현을 마음대로 바꾸어도, 심지어 기존 클래스를 버리고 새로운 클래스를 작성하더라도 이를 사용하는 객체의 코드에는 영향을 미치지 않을 수 있는가?
          * 만약 구현 은닉을 하지 않는다면 다른 OO기능을 사용하는 것이 큰 의미가 없게된다.
  • 작은자바이야기 . . . . 56 matches
          * 유닛테스트, mock 프레임워크 사용 등의 부분에 대한 실제 사용 예를 잘 알기 위해
          * 제가 "원래 모든 함수가 static"이라는 의미로 말한건 아닌데 오해의 소지가 있었나보군요. 사실 제가 설명한 가장 중요한 사실은 말씀하신 예에서 object의 컴파일 타입의 method() 메서드가 가상 메서드라면(static이 아닌 모든 Java 메서드), 실제 어떤 method() 메서드를 선택할 것이냐에 관한 부분을 object의 런타임 타입에 의한다는 부분이었지요. 그러니까 object는 컴파일 타입과 동일하지 않은 런타임 타입을 가질 수 있으며, 다형성의 구현을 위해 implicit argument인 object(=this)의 런타임 타입에 따라 override된 메서드를 선택한다는 사실을 기억하세요. (Python에선 실제 메서드 내에서 사용할 formal parameter인 self를 explicit하게 선언할 수 있다고 보면 되겠지요.) - [변형진]
          * 멀티스레드 환경에서 synchronized modifier를 사용한 동기화에 대해 공부했습니다.
          * Serializable 인터페이스와 ObjectOutput, ObjectInput을 사용한 직렬화, 역직렬화에 대해 공부했습니다.
          * JNI라는 기법을 사용해 네이티브 라이브러리를 연결하여 함수를 호출할 수 있음을 배웠습니다.
          * 우리가 아는 interface 사용
          * generics 사용
          * Iterator의 특징과 Iterable을 사용했을 때의 특징들을 공부하는 시간
          * 지난시간에 이은 Inner Class와 Nested Class의 각각 특징들 Encapsulation이라던가 확장성, 임시성, 클래스 파일 생성의 귀찮음을 제거한것이 새로웠습니다. 사실 쓸일이 없어 안쓰긴 하지만 Event핸들러라던가 넘길때 자주 사용하거든요. {{{ Inner Class에서의 this는 Inner Class를 뜻합니다. 그렇기 때문에 Inner Class를 포함하는 Class의 this(현재 객체를 뜻함)을 불러오려면 상위클래스.this를 붙이면 됩니다. }}} Iterator는 Util이지만 Iterable은 java.lang 패키지(특정 패키지를 추가하지 않고 자바의 기본적인 type처럼 쓸수있는 패키지 구성이 java.lang입니다)에 포함되어 있는데 interface를 통한 확장과 재구성으로 인덱스(index)를 통한 순차적인 자료 접근 과는 다른 Iterator를 Java에서 범용으로 쓰게 만들게 된것입니다. 예제로 DB에서 List를 한꺼번에 넘겨 받아 로딩하는것은 100만개의 아이템이 있다면 엄청난 과부하를 겪게되고 Loading또한 느립니다. 하지만 지금 같은 세대에는 실시간으로 보여주면서 Loading또한 같이 하게 되죠. Iterator는 통해서는 이런 실시간 Loading을 좀더 편하게 해줄 수 있게 해줍니다. 라이브러리 없이 구현하게 되면 상당히 빡셀 것 같은 개념을 iterator를 하나의 itrable이란 인터페이스로 Java에서는 기본 패키지로 Iterable을 통해 Custom하게 구현하는 것을 도와주니 얼마나 고마운가요 :) 여튼 자바는 대단합니다=ㅂ= Generic과 Sorting은 다른 분이 설명좀. - [김준석]
          * @property annotation 사용
          * 리플렉션과 제네릭스를 써서 map -> object와 object -> map을 하는 부분을 해봤습니다. 자바의 일반적인 세 가지 방식의 클래스 내 변수에 대해 getClass, getFields, getMethods를 사용해 private, 나 접근자가 있는 경우의 값을 받아왔습니다. getter를 사용해서 변수 값을 받아올 때 이름이 get으로 시작하는 다른 함수를 제외하기 위해 method.getParameterTypes().length == 0 같은 부분은 이렇게 체크해야 된다는 부분은 나중에 제네릭스 관련으로 써먹을만 할 것 같습니다. 그리고 mapToObject에서는 문제가 없었지만 objectToMap의 경우에는 제네릭스의 type erase때문에 Class<T> expectedType = T.class; 같은 코드를 사용할 수 없어서 map.put(field.getName(), (T)field.get(obj));에서 형변환의 타입 안전성을 위해 인자로 Class<T> valueType을 받아오고 valueType.isAssignableFrom(field.getType())로 체크를 하는 부분도 공부가 많이 됐습니다. - [서영주]
          * Annotation의 생성 및 사용
          * 외부 라이브러리 사용
          * google의 guava는 함수의 체이닝을 많이 사용함.
          * Data 부분을 인터페이스로 분리 - 내부에서 FactoryMethod 패턴을 사용. factory를 통해서 객체를 생성한다. new를 사용하지 않기 때문에 구체 클래스를 숨길 수 있다.
          * CsvData - data의 구체 클래스. 내부에서 속도의 향상을 위해서 역색인 방식을 사용.
          * m2e plugin - maven과 eclipse는 빌드를 다른 방식으로 하기 때문에 maven의 의존성을 eclipse의 의존성과 연결해주기 위해서 사용하는 plugin.
          * Windows7 기준으로 [사용자이름]\.m2\[groupid]\[artifactid] 폴더에 jar 파일을 만들어 준다.
          * 클라이언트 프로젝트에서 사용하고자 하는 라이브러리의 정보를 pom.xml에 추가 후 maven build를 실행.
          * resources - src/main/resources 설정파일 등을 target/classes로 전달. javac를 사용하지 않는다.
  • MoreEffectiveC++/Miscellany . . . . 55 matches
         좋은 소프트웨어는 변화를 잘 수용한다. 새로운 기능을 수용하고, 새로운 플랫폼에 잘 적용되고, 새로운 요구를 잘 받아 들이며, 새로운 입력을 잘 잡는다. 이런 소프트웨어는 유연하고, 강하고, 신뢰성있고, 돌발 상황(사고)에 의해 죽지 않는다. 이런 소프트웨어는 미래에 필요한 요소를 예상하고, 오늘날 구현시에 포함시키는 프로그래머들에 의해서 디자인된다. 이러한 종류의 소프트웨어는-우아하게 변화하는 소프트웨어- ''program in the future tens''(매래의 프로그램:이하 영문 직접 사용)을 감안하는 사람들이 작성한다.
         이런 좋은 소프트웨어를 만들기 위한 방법으로, 주석이나, 기타 다른 문서 대신에 C++ 내부에 디자인으로 구속해 버리는 것이다. 예를들자면 '''만약 클래스가 결코 다른 클래스로 유도되지를 원치 않을때''', 단시 주석을 헤더 파일에 넣는 것이 아니라, 유도를 방지하기 위하여 C++의 문법을 이용한 기술로 구속 시킨다.;이에 대한 방법은 '''Item 26'''에 언급되었다. 만약 클래스가 '''모든 인스턴스를 Heap영역에 생성시키고자 할때''', 클라이언트에게 말(문서)로 전달하는 것이 아니라. '''Item 27'''과 같은 접근으로 제한 시켜 버릴 수 있다. 만약 클래스에 대하여 복사와 할당을 막을려고 할때는, 복사 생성자와 할당(assignment) 연산자를 사역(private)으로 만들어 버려라. C++은 훌륭한 힘과, 유연성, 표현성을 제공한다. 이러한 언어의 특징들을 당신의 프로그래밍에서 디자인의 정책을 위해서 사용하라.
         어떤이가 무언가를 '''할수있다는것''' 알게되면 그들을 그것을 '''할것이다.''' 그들은 예외를 던질 것이다. 그들은 그들 스스로에게 객체를 할당할 것이다. 그들은 값을 제공하기전에 객체를 사용할 것이다. 그들은 객체를 제공하겠지만, 결코 사용하지 않는다. 그들은 커다란 값을 제공할 것이다. 그들은 아주 작은 값을 제공할 것이다. 그들은 null 값을 제공할 것이다. '''일반적으로 만약 컴파일이 되면 어떤이가 그것을 할것이다.''' 결과적으로 당신의 클래스를 정확히 사용하는건 쉽게, 이상하게 사용하는건 어렵게 만들어라. 클라이언트가 실수를 하도록 해라 그리고 당신의 클래스들이 그러한 에러들을 방지하고, 찾고, 수정할수 있게 만들어라. (예를들어 Item 33 참고)
         당신의 코드를 변화가 필요할때, 그 효과를 지역화(지역화:localized) 시키도록 디자인 해라. 가능한한 캡슐화 하여라:구체적인 구현은 private 하라. 광범위하게 적용해야 할곳이 있다면 이름없는(unamed) namespace나, file-static객체 나 함수(Item 31참고)를 사용하라. 가상 기초 클래스가 주도하는 디자인은 피하라. 왜냐하면 그러한 클래스는 그들로 부터 유도된 모든 클래스가 초기화 해야만 한다. - 그들이 직접적으로 유도되지 않은 경우도(Item 4참고) if-than-else을 개단식으로 사용한 RTTI 기반의 디자인을 피하라.(Item 31참고) 항상 클래스의 계층은 변화한다. 각 코드들은 업데이트 되어야만 한다. 그리고 만약 하나를 읽어 버린다면, 당신의 컴파일러로 부터 아무런 warning를 받을수 없을 것이다.
         미래의 시류로 생각하는 관점은 완전히 다르다. 지금 어떻게 클래스를 사용하느냐를 묻는것 대신에, '''어떻게 클래스를 디자인 하느냐를 묻는다.''' 미래 지향적 생각으로는 이렇게 말한다. 만약 기초 클래스로 사용된 클래스가 '''디자인''' 된다면 그 클래스는 가상 파괴자를 가져야 한다. 그러한 클래스는 지금과 미래 모두 정확히 동작해야 한다. 그리고 그들오 부터 클래스들이 파생될때 다른 라이브러리의 클래스에게 영향을 끼쳐서는 안된다. ( 최소한, 파괴자로 인한 논란 만큼, 영향이 없어야 한다. 추가적인 변화가 클래스에 필요하면 다른 클라이언트들오 아마 영향을 받을 것이다.)
         확실히 vtbl 문제는 합법적인 접근이다. (Item 24참고) 대다수 String클래스의 구현에서 오직 하나의 char*를 각각의 String 객체가 가지고 있다. 그래서 각 String객체에 추가되는 vptr도 두배의 양을 차지한다. 허용하지 않으려는 이유는 이해하기 쉽다. String같은 클래스를 무겁게 사용하면 눈에 띠는 성능 저하가 있다. 앞서 언급한 경우 클래스당 성능 저하는 약 20%정도를 가지고 온다. (Item 16참고)
         어떤 것이 더 많은 문제를 일으키는 것으로, 밴더들의 주목을 받고 있을까? "우리는 String*을 사용하는 목적을 가지지 않는다. 그래서 이는 별 문제가 되지 않는다." 그건 아마 사실일 것이다. 하지만 그들의 String클래스는 수많은 개발자들이 사용가능한 것이다. 수많은 개발자들이 C++의 수준이 제각각이다. 이러한 개발자들이 String상에서의 비가상 파괴자(no virtual destructor)를 이해할까? 그들이 비가상 파괴자를 가진 String때문에 String으로 유도된 새로운 클래스가 모험 비슷한 것을 알고 있을까? 이런 벤더들은 그들의 클라이언트들이 가상 파괴자가 없는 상태에서 String*를 통하여 삭제가 올바르게 작동하지 않고, RTTI와 String에 대한 참조가 아마 부정확한 정보를 반환한다는걸 확신시킬까? 이 클래스가 정확히 쓰기 쉬운 클래스일까? 부정확하게 쓰기 어려운 클래스일까?
         대안으로 C++을 사용할때 유도를 제한해 버리는 것이다. Item 26에서 어떻게 객체를 heap에 만들거고 auto_ptr객체로 heap객체를 조정하는 방법에 관해서 언급하였다. String을 위한 인터페이스 생성은 아마 독특하고 불편한 다음과 같은 문법 을 요구한다.
         하지만 정확하지 않게 동작하는 유도된 클래스의 사용을 억제하는 것은 문법적으로 상당히 불편함을 낳는다. (String에서 이런 문법적으로 불편한 면이 그리 강조되지 않다. 그렇지만 다른 클래스에서 이러한 문법적인 불편함을 따지는 면이 중요하다.)
         물론, 필요하다면 현재 감안하는 생각으로 접근한다. 당신이 개발중인 소프트웨어는 현재의 컴파일러에서 동작해야만 한다.;당신은 최신의 언어가 해당 기능을 구현할때까지 기다리지 못한다. 당신의 현재 가지고 있는 언어에서 동작해야 하고. 그래서 당신의 클라이언트에서 사용 가능해야 한다.;당신의 고객에게 그들의 시스템을 업그레이드 하거나, 수행 환경을(operating environment) 바꾸게 하지는 못할것이다. 그건은 '''지금''' 수행함을 보증해야 한다.;좀더 작은, 좀더 빠른 프로그램에 대한 약속은 라이프 사이클을 줄이고, 고객에게 기대감을 부풀릴 것이다. 그리고 당신이 만드는 프로그램은 '''곧''' 작동해야만 한다. 이는 종종 "최신의 과거"를 만들어 버린다. 이는 중요한 속박이다. 당신은 이를 무시할수 없다.
          * 어떤 부분이 '''현재'''사용할수 없더라도, 완전한 클래스를 제공하라. 새로운 요구가 당신의 클래스를 만들게 할때, 당신은 새로운 클래스를 수정하거나, 과거로 돌아갈 일이 없을꺼다.
          * 당신의 인터페이스에게 일반적인 기능을 제공하고, 에러를 방지하도록 디자인 해라. 부정확하게 사용하기 어렵게 하고, 정확하게 사용하기 쉽게 만들어라. 예를 들어서 클래스에 대한 복사나 할당에 대한 연산자를 없애서, 복사, 할당을 못하게 하라. 부분적인 할당에 대하여 옙아하라. (Item 33참고)
         미래를 생각하는 것은 당신의 코드에 대한 재 사용성을 늘리고, 유지보수를 쉽게하며, 소프트웨어를 견고하게 만든다. 그리고 변화하는 환경에 우아하게 대처할 것이 확실하다. 미래에 대한 대처는 반드시 현재의 생각과 균형을 이루어야만 한다. 많은 프로그래머들이 현재 이외에는 생각을 하지 않는다. 하지만, 그래서 그들은 구현과 디자인에 긴 시각을 포기해야 한다. 다르게 하여라. 거부해라. 미래를 생각하는 프로그램을 만들어라.
         '''두번째''' 문제는 진짜 프로그래머들이 이와 같은 코드를 쓴다는 것이다. 특별히 C++로 전향한 C프로그래머들에 경험에서 보면, 포인터를 통한 객체의 할당은 그리 흔하지 않은것도 아니다. 그러한 경우는 이성적인 생각으로 취한 할당같이 보인다. Item 32의 촛점중, 상속 관계 상에서 우리의 클래스는 정확히 사용하기 쉽고, 부정확하게 사용하기 어렵게 해야 한다고 언급했다.
         우린 dynamic_cast(Item 2참고)를 이러한 행동에 적용해서 사용할수 있다. 여기 Lizard의 할당 연산자에 대한 방법이 있다.
         솔직히, dynamic_cast를 사용해서 실행 시간에 검사하는건 좀 짜증난다. 한가지, 몇몇 컴파일러는 아직 dynamic_cast에 대한 지원이 부족해서, 이를 사용하면, 이론적으로는 이식성이 보장되지만 실제로는 그렇지 않다. 더 중요하게 Lizard와 Chicken의 클라이언트들은 bad_cast 예외에 대한 준비와, 할당을 수행할때의 각 코딩시에 민감하게 처리하지 못한다. 내 경험에 비추어 볼때 많은 프로그래머들이 그런 방법을 취하지 않고 있다. 만약 그들이 하지 않는다면, 할당이 일어나는 수많은 곳에서 정확하지 않은 처리상태로, 명료성을 보장 받을수 없다.
         두가지 경우에 한가지는 당신의 데이터가 없는 concrete로 적용한다.:이건 미래에 데이터를 가질지도, 안가질지도 모른다. 만약 미래에 데이터를 가진다면, 당신이 하는 모든 것은 데이터 멤버가 추가도리때까지 문제를 미루어 두는 것이다. 이런 경우 당신은 잠깐의 편함과 오랜 시간의 고뇌를 맞바꾸는 것이다. (Item 32참고) 대안으로, 만약 기초 클래스가 정말 어떠한 데이터도 가지고 있지 않다면, 처음에 추상화 클래스와 아주 비슷한 이야기가 된다. concrete 기본 클래스는 데이터 없이 사용되는건 무엇인가?
         자, 나는 어떻게 미래에 상속 관계에 대한 사용을 예측할수 없다. 그러나 나는 이거 하나는 알고 있다.:하나의 목적에서 추상화에 대한 필요는 비슷할 것이라는것, 그러나 더 많은 목적으로 추상화에 대한 필요성은 보통 중요하다. 즉, 유용한 추상화는 하나 이상의 용도(목적)에서 필요성이 있다. 그것은 그렇나 추상화가 그들에 목적에 부합하는 클래스와 올바르게 쓰인다는 것과, 유도된 클래스에서도 또한 유용하다는 걸 의미한다. (작성자주:의역)
         이것은 정확하게 concrete 기본 클래스가 유용한 추상 기본 클래스로 변환되는 이유가 된다.:그것은 오직 존재하는 concrete 클래스가 기본 클래스 같을때, 다시 말하면 클래스가 새로운 목적으로 재사용 될때, 새로운 추상 클래스의 도입을 강요한다. 그러한 추상화는 유용하다. 왜냐하면 그들 자신이 보이는 것과 같이 구현될 필요성을 가지고 있기 때문이다.
         일단, 오직 한종류의 프로토콜을 통하여 오직 한종류의 패킷만을 전송한다고 가정하자. 아마도 다른 프로토콜과 패킷의 존재를 알고 있을 것이다. 그렇지만 당신은 그들을 지원하지 않고, 미래에도 이들을 지원할 계획이 없을 것이다. 당신은 패킷에 대한 추상 클래스(패킷을 표현하는 개념을 위한)를 사용할 패킷의 concrete 클래스와 같이 만들것인가? 만약 그렇게 한다면 당신이 패킷의 기본 클래스의 변화 없이 차후에 새로운 패킷 형태를 추가하는 것을 바랄수 있다. 그것은 새로운 형태의 패킷이 추가될경우 패킷과 관련하여 재컴파일할 수고를 덜어 줄것이다. 그렇지만 그런 디자인은 두개의 클래스를 요구한다. 그리고 지금 당신에게는 하나만이 필요하다.(당신이 사용하는 패킷만을 표현하는 클래스) 없을지도 모르는 미래를 위한 확장을 위해서 당신의 디자인을 복잡하게 하는 것을 해야 할까?
  • EffectiveC++ . . . . 53 matches
          int scores[NUM_TURNS]; // 상수의 사용.
         #define -> inline (매크로 사용시)
         아직까지 유용하게 사용되므로, 안쓸필요는 없겠죠? [[BR]]
         typedef를 사용했을때의 delete.. --? : 새로운 문제 제기
         나중에 메모리를 해제하기 위해서 소멸자에서 delete를 사용한다.[[BR]]
         쓰지 않는 것일까? --a 사실 몰랐는데, 일반 적은 new (default new연산자)를 사용하게 되면 할당된 블록의 [[BR]]
         DeleteMe 그런 의미보다 String 이나, linked list 혹은 기타 여러 기타 데이터 형으로 많은 수의 할당을 통해서 쓸수 있는 인자의 경우에는 사용자 정의 new를 이용하여 가능하면 공용 메모리 공간에서 활동시켜서, 메모리 할당 코드를 줄이고 (메모리 할당의 new와 alloc는 성능에 많은 영향을 미칩니다.) 메모리를 줄이고 효율적 관리를 할수 있다는 의미 같습니다. 그런 데이터 형으로 쓰이는 인자가 아닌 한 app안에서 단 한번만 사용되는 클래스라면 구지 new를 성의해서 memory leak의 위험성을 증가 시키는 것보다, 일반적인 new와 생성자 파괴자의 규칙을 쓰는것이 좋을겁니다. --상민
         1. 초기화 리스트를 사용한다.
          * 가능한 경우 항상 멤버 초기화 리스트를 사용하는 습관을 들이면, const와 레퍼런스 변수들에 대한[[BR]]요구 조건을 채울 수 있을 뿐만 아니라, 멤버 변수들에 대한 비효율적인 초기화도 줄일수 있다.''
         The C++ language standard is unusually clear on this topic. 베이스 클래스에 대한 포인터를 사용해서 계승된 클래스를 [[BR]]
         기본 형식을 갖는 치환 연산자에서, 리턴값으로 사용할 수 있는 두 가지 경우가 있다. 치환의 왼쪽 부분 (this)과 치환의 오른쪽 부분(인자 리스트에 있는것)이다. 어떤것을 리턴해 줄것인가? operator=과 관련된 밑의 두가지 경우를 보자.
         하지만, 이번에는 클래스의 operator=를 사용하는 코드에서 문제가 발생한다.
         결론을 얘기 하자면, 치환의 왼쪽 부분에 대한 레퍼런스 *this를 되돌려 주도록 치환 연산자를 선언해야 한다. 만일 이외의 일을 하면, 연속적인 치환을 할 수 없게 되고, 클래스를 사용하는 코드에서의 묵시적인 타입 변환도 할 수 없게 된다.[[BR]]
         최소한의 완전한 클래스 인터페이스를 추구한다(?) 이말은 클래스내에 군더더기 즉 비슷한 일을 하는 멤버 함수가 존재 하지 않는다는 의미도 된다. 그리고, 그 클래스는 그만큼 복잡하지않을 것이다. 그리고, 최소한의 인터페이스로 이 클래스를 사용하는 사용자가 모든 일(?)을 할수가 있어야한다. [[BR]]
         그런데, 왜 최소한인가? 여러가지 일을 할수 있는 멤버 함수들을 계속 추가해 나가면 안되는 것인가? 대답은 안된다. 왜 안되는 것일까? 당신은 멤버 함수가 10개 있는 클래스와 100개가 있는 클래스중 어떤것이 이해하기 쉽다고 생각하는가? 나 만 쓰려는 클래스가 아닌이상 다른 사용자들이 쉽게 이해 할수 있도록 만들어야 하지 않겠는가? 그렇기 때문에 최소한의 인터페이스를 추구하는 것이다. 그리고, 관리적인 면에서 볼때 적은 함수들을 가진 클래스가 용이하다는 것이다. 중복된 코드라던지 아니면 개선할 것들을 향후에 하기 쉽다는 것이다. 또한, document를 작성한다 든지 할때 적은 멤버 함수들을 가진 클래스 쪽이 용이하다는 것이다. 마지막으로 아주 긴 클래스 정의는 긴 헤더 파일을 초래 한다. 일반적으로 헤더 파일들은 프로그램이 컴파일될 때마다 매 번 읽혀져야 하기 때문에 필요 이상 긴 클래스 정의는 프로젝트 주기 중의 총 컴파일 시간을 갉아 먹는다. 그런 이유들 때문에 최소한의 클래스 인터페이스를 추구하는 것이 좀더 나은 판단이라는 것이다.
         대게 class내에 operator 연산자를 사용함으로서 좀더 편한 code(?)라는 것을 하기 위해서 선언 하는 함수들이 멤버 함수여야 하는지 아니면 friend함수여야 하는지를
         temp = 2 * a; // 이런 연산. - friend함수를 사용하여 연산자를 정의 해줘야지만 작동한다.
         이 항목은 참조를 유용하게 사용할 수 있는 경우이다.
         첫번째는 함수의 리턴값으로 사용시 무리하게 임시객체가 생성이 될 수 있다.
         그렇지 않고 참조에 의한 호출을 할 경우에 책에서는 내부 임시객체를 통해 반환을 하려고 할땐 그 임시 객체의 메모리는 스택에 있기 때문에 문제가 되고, new를 사용해서 힙 기반으로 만들때는 연달에 세번의 호출이 있을 경우 필연적으로 메모리가 누출된다. 그렇다고 static의 정적 객체의 경우에도 비교문(operator =)에서 사용된다면 언제가 참으로 계산이 될것이다. 그렇다고 정적 객체 배열로 무리해서 구현을 하고자 한다면 그건 바로 삽질이다.
  • MoreEffectiveC++/Efficiency . . . . 51 matches
         많은 사람들이 병목현상(bottleneck)에 관한 해결책에 고심한다. 경험에 따른 방법, 직관력, tarot 카드이용(운에 맏기기) 그리고 Ouija(점괘를 나타내는 널판지의 상표명, 즉 점보기) 보드를 사용 하기도 하고, 소문이나 잘못, 올바르지 않은 메모리 할당, 충분하지 않은 최적화를 한 컴파일러, 혹은 치명적인 순환 구문을 만들어내기 위해 어셈블리 언어를 사용한 돌대가리 메니저들의 메니저들. 이러한 사정들은 일반적으로 멸시의 비웃음을 동반하고, 그들의 예언은 솔직히 잘못된 것이다.
         대부분 프로그래머들은 그들의 프로그램에 관한 특성에 관하여 멍청한 직관력을 가지고 있다. 왜냐하면 프로그램 성능의 특징은 아주 직관적이지 못하다. 결과적으로 남에 눈에는 띄지 않고 말할수 많은 노력이 성능 향상을 위해 프로그램의 관련된 부분에 쏟아 부어 진다. 예를들어서 아마, 계산을 최소화 시키는 알고리즘과 데이터 구조가 프로그램에 적용 되다. 그렇지만 만약에 입출(I/O-bound)력 부분 적용된다면 저것은 허사가 된다. 증가되는 I/O 라이브러리는 아마 컴파일러에 의하여 바뀐 그 코드에 의해 교체될것이다. 그렇지만, 프로그램이 CPU-bound에 대한 사용이라면 또 이건 별로 중요한 포인터(관점)이 되지 않는 것이다.
         일을 할 그 부분은 실질적으로 당신의 프로그램의 20%로, 당신에게 고민을 안겨주는 부분이다. 그리고 끔찍한 20%를 찾는 방법은 프로그램 프로파일러(profiler:분석자)를 사용하는 것이다. 그렇지만 어떠한 프로파일러(profiler:분석자)도 못할일이다. 당신은 가장 관심 있는 직접적인 해결책을 내놓는 것을 원한다.예를 들자면 당신의 프로그램이 매우 느리다고 하자, 당신은 프로파일러(profiler:분석자)가 프로그램의 각각 다른 부분에서 얼마나 시간이 소비되는지에 관해서 말해줄껄 원한다. 당신이 만약 그러한 능률 관점으로 중요한 향상을 이룰수 있는 부분에 관해 촛점을 맞추는 방법만 알고 있다면 또한 전체 부분에서 효율성을 증대시키는 부분을 말할수있을 것이다.
         프로파일러(profiler:분석자)는 각각의 구문이 몇번이나 실행되는가 아니면 각각의 함수들이 몇번이나 불리는거 정도를 알려주는 유틸리티이다. 성능(performance)관점에서 당신은 함수가 몇번 분리는가에 관해서는 그리 큰 관심을 두지 않을 것이다. 프로그램의 사용자 수를 세거나, 너무 많은 구문이 수행되어 불평을 받는 라이브러리를 사용하는 클라이언트의 수를 세거나, 혹은 너무 많은 함수들이 불리는 것을 세는 것은 다소 드문 일이기도 하다. 하지만 만약 당신의 소프트웨어가 충분이 빠르다면 아무도 실행되는 구문의 수에 관해 관여치 않는다. 그리고 만약 너무 느리면 반대겠지. (이후 문장이 너무 이상해서 생략, 바보 작성자)
         몇번이나 구문이 실행되는가, 함수가 실행되는가는 때때로 당신의 소프트웨어 안의 모습을 이야기 해준다. 예를들어 만약 당신이특별한 형태의 객체를 수백개를 만든다고 하면, 생성자의 횟수를 세는것도 충분히 값어치 있는 일일 것이다. 게다가 구문과, 함수가 불리는 숫자는 당신에게 직접적인 해결책은 제시 못하겠지만, 소프트웨어의 한면을 이해하는데 도움을 줄것이다. 예를들어서 만약 당신은 동적 메모리 사용을 해결하기 위한 방법을 찾지 못한다면 최소한 몇번의 메모리 할당과 해제 함수가 불리는것을 아게되는것은 유용한 도움을 줄지도 모른다. (e.g., operators new, new[], delete and delete[] - Item 8참고)
         이런 결과들을 막는데 최선책은 당신의 소프트웨어에 가능한한 많은 데이터 들에게 프로파일을 시도하는것이다. 게다가 당신은 각 데이터들이 소프트웨어가 그것의 클라이언트들(혹은 최소한 가장 중요한 클라인트들에게라도)에게 사용방식을 잘 보여주도록 확신할수 있어야만 한다. 잘표현되는 데이터들은 얻기가 용이하다 왜냐하면 프로파일링 중에는 당신이 그들의 데이터를 사용할수 있기때문에 많은 클라이언트들이 좋기 때문이다. (뭔소리야. --;) 당신은 당신의 소프트웨어를 그들과 만나면서 조정(tuning)을 할것이고, 그것이 오직 당신이나 클라이언트들 양쪽에게 좋은 방법이다.
         이런 같은 관점을 이제 막 5년차 C++프로그래머에 대입 시켜본다. 컴퓨터 과학에서, 우리는 그러한 뒤로 미루기를 바로 ''''lazy evaluation''''(구지 해석하면 '''필요시 연산, (최)후 연산, 늦은 연산'''정도라 할수 있겠다.)이라고 말한다. 당신이 lazy evaluation을 사용하면 당신의 클래스들이 최종적으로 원하는 결과가 나올 시간까지 지연되는 그런 상태로 코딩을 해야 한다. 만약 결과값을 결국에는 요구하지 않는다면, 계산은 결코 수행되지 않아야 한다. 그리고 당신의 소프트웨어의 클라이언트들과 당신의 부모님은 더 현명하지 않아야 한다.( 무슨 소리냐 하면, 위의 방치우기 이야기 처럼 부모님이나 클라이언트들이 lazy evaluation기법의 일처리로 해결을 하지 않아도 작업에 대한 신경을 안써야 한다는 소리 )
          // 같이 사용 방식이 적용된다고 가정한다. 하지만 결코 존재하지는 않는다.)
         이와 같은 구문의 사용으로, String의 convertToUpperCase 함수를 적용하면, s2의 값의 복사본을 만들어야 하고, 수정되기전에 s2에 그걸 s2의 종속되는 데이터로 만들어야 한다. convertToUpperCase 내부에 우리는 lazy 상태가 더이상 지속되지 않도록 하는 코드를 넣어야 한다.:s2가 마음대로 다룰수 있도록 s2의 공유된 값의 사본을 복사해야 한다. 반면에 만약 s2가 결코 수정되지 않을 것이라면, 이러한 s2만의 값을 복사하는 일련의 과정이 필요 없을 것이다. 그리고 s2가 존재하는 만큼 값도 계속 존재해야 한다. 만약 더 좋게, s2가 앞으로 결코 변하지 않는다면, 우리는 결코 그것의 값에 대한 노력을 할필요가 없을 것이다.
         값의 공유에 관하여 좀더 자세하게 이 문제에 논의를 제공할 부분은 Item 29(모든 코드가 들어있다.)에 있다. 하지만 그 생각 역시 lazy evaluation이다.:결코 당신이 정말로 어떤것을 필요하기 전까지는 그것의 사본을 만드는 작업을 하지 않것. 일단 그보다 lazy 해져봐라.- 어떤이가 당신이 그것을 제거하기 전까지 같은 자원을 실컷 사용하는것. 몇몇 어플리케이션의 영역에서 당신은 종종 저러한 비합리적 복사의 과정을 영원히 제거해 버릴수 있을 것이다.
         이것은 우리에게 적용 관점에서 상당히 난제이다. 우리가 원하는 것에 이르기 위하여 operator[] 안쪽에 각기 다른 작업을 하는 코드가 필요하다.(읽기와 쓰기에 따라서 따로 작동해야 한다.) 어떻게 우리는 operator[]가 읽기에 불리는지 쓰기에 불리는지 결정할수 있을까? 이런 잔인한 사실은 우리를 난감하게 한다. lazy evaluation의 사용과 Item 30에 언급된 proxy 클래스(위임 클래스, DP에서의 역할과 비슷할것이라 예상) 는 우리가 수정을 위하여 읽기나 쓰기 행동을 하는지의 결정을 연기하게 한다.
         lazy evaluation에서 다룰 세번째의 주제로, 당신이 많은 필드로 이루어진 큰 객체들을 사용하는 프로그램을 가지고 있다고 상상해 봐라. 그런 객체들은 반드시 프로그램이 실행때 유지되며, 나중에는 데이터 베이스 안에 저장된어진다. 각각의 객체는 각 객체를 알아볼수 있고, 유일성을 보장하는 데이터 베이스로 부터 객체를 불러올때 종류를 알아 볼수 있는, 식별자(identifier)를 가지고 있다.(OODB 인가.) :
         객체의 각 필드는 필요한 데이터의 포인터로 표현되어 있고, LargeObject의 생성자는 null로 초기화 된다. 그런 null 포인터는 아직 데이터 베이스에서 해당 필드의 정보를 안읽었다는 걸 의미한다. 데이터를 접근하기 전에 LargeObject의 각 멤버 함수는 반드시 이 필드의 포인터를 검사한다. 만약 포인터가 null이라면 데이터를 사용하기 전에 반드시 데이터 베이스에서 읽어 온다.
         이 함수는 *this의 constness성질을 부여하기 위하여 const_cast(Item 2참고)를 사용했다.만약 당신이 const_cast마져 지원 안하면 다음과 같이 해야 컴파일러가 알아 먹는다.
         자, 그럼 다시 한번 LargeObject내의 포인터들에 관하여 생각해 보자. 사용하기전에 각각의 포인터들을 검사하는 것에 비해서, 모든 포인터들이 null로 초기화 되어 있는것은 에러의 가능성을 가지고 있다. 다행히도, 이런 우려는 Item28의 ''smart pointers''의 이용으로 편이성을 제시한다. 만약 LargeObject내부에서 smart pointer를 사용한다면 당신은 아마도 더이상 포인터를 mutable하게 선언할 필요가 없을것이다. 당신이 mutable을 필요로 하는 상황이, smart pointer클래스들의 적용으로 가기 때문에 위의 내용은 좀 임시적인것이다. 이런 문제에 관해 한번 생각해 봐라
         '''''lazy evaluaion''''' 방법에서는 저건 너무 엄청난 수행을 하는 방법이라 하고, 그래서 그것을 수행하지 않는다. 대신에 m3내부에 m1과 m2의 합을 했다는 것만을 기럭해 둔다. 그런 자료 구조는 아마도 m1과 m2나 그이상의 더하기를 하기 위한 포인터 외에는 아무런 정보를 유지할 필요가 없을 것이다. 명백히 이건 m1,m2에 대한 실제 더하기보다 훨씬 빠르고 말할것도 없이 훨씬 적은 메모리를 사용할 것이다.
         사실 이건 멍청한 프로그래머가 두 행렬의 합을 계산하고, 그것을 사용하지 않아서 얻은 이점을 노린 억지로 만들어낸 예제 같이 보인다. 멍청한 프로그래머는 필요도 하지 않은 계산을 수행한 것이다. 하지만 유지보수 중에 보면, 이런 필요없는 계산을 이행하는 수행코드는 그리 희귀하지는 않다.
         어떻게 행운이냐구? 행렬 계산의 분야에 대한 경험이 우리의 이러한 코드에 대한 노력에 가능성을 준다. 사실 lazy evaluation은 APL이라는 것에 기초하고 있다. APL은 1960년대에 상호 작용의(interactive) 쓰임을 위하여 행렬 계산이 필요한 사람들에 의하여 개발된 것이다. 현재보다 떨어진 수행능력을 가진 컴퓨터에서 APL은 더하고, 곱하고, 심지어 커다란 행렬을 직접 나눈는 것처럼 보이게 하였다. 그것에는 lazy evaluation이라는 방법이었다. 그 방법은 일반적으로 보통 효율적이었다. 왜냐하면 APL 사용자가 보통 더하고, 곱하고 나누는 것을 그것의 행렬의 조각들을 필요로 하고, 전체의 결과가 필요하기 전까지 수행하지 않는다. APL 은 lazy evaluation을 사용해서 행렬상의 결과를 정확히 알 필요가 있을때까지 게산을 지연시킨다. 그런 다음 오직 필요한 부분만을 계산한다. 실제로 이것은 과거 열악한 컴퓨터의 능력하에서 사용자들이 계산 집약적인(많은 행렬 계산을 요하는) 문제에 관하여 상호적으로(결과값과 수행 식간에 필요 값을 위해서 최대한 실제 연산을 줄여나가게) 수행된다.현재의 기계도 빨라졌지만, 데이터들이 커지고, 사용자들은 참을성이 줄어들기 때문에 요즘에도 이런 lazy evaluation의 장점을 이용한 행렬 연산 라이브러리를 사용한다.
         C++에 알맞는 lazy evaluation은 없다. 그러한 기술은 어떠한 프로그래밍 언어에도 적용 될수 있다. 그리고 몇몇 언어들-APL, 몇몇 특성화된 Lisp, 가상적으로 데이터 흐름을 나타내는 모든 언어들-는 언어의 한 중요한 부분이다. 그렇지만 주요 프로그래밍, C++같은 언어들은 eager evaluation를 기본으로 채용한다. C++에서는 사용자가 lazy evaluation의 적용을 위해 매우 적합하다. 왜냐하면 캡슐화는 클라이언트들을 꼭 알지 못해도 lazy evaluation의 적용을 가능하게 만들어 주기 때문이다.
         여기 findCubicleNumber를 적용시키는 한 방법이 있다.;그것은 지역(local)캐쉬로 STL의(Standard Template Library-Item 35 참고) map 객체를 사용한다.
  • XMLStudy_2002/Start . . . . 51 matches
          1 Invalid Documents : XML의 태그 규칙을 따르지 않거나,DTD를 사용한 경우에 DTD에 정의된 규칙을 제대로 따르지 않는 문서
          2 Well-Formed Documents : DTD를 사용하지는 않지만,XML의 태그 규칙을 따르는 문서
          * 2번은 XML 문서에 DTD를 사용하지않았지만 XML 문서 태그 규칙에 맞게 작성되었으므로 Well-Formed 문서로 사용된다.
          * 3번은 DTD도 사용하였고 태그 규칙도 맞게 작성된것이다.
          1 시작 태그가 있으면 반드시 닫는 태그가 사용되어져야 한다.
          2 시작 태그에 대응하는 닫는 태그가 오기전에 시작 태그의 바깥에 위치한 태그의 닫는 태그가 위치하지 않아야 한다.(태그들이 겹쳐서(orverlapped) 사용될수 없다.)
         === XML을 사용하여 문서 작성하는 방법 ===
          step1. DTD 사용 여부 선택
          step2. DTD를 사용하는 경우 사용할 DTD 선정 또는 새로 설계하여 작성
          *XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
          *XML 응용프로그램이란 이러한 택스트 객체(textual object)를 처리하여 사용할수 있는 프로그램이다.
          *XML은 SGML을 좀더 손쉽게 사용할수 있는 대안으로서 취급 하지만 XML의 응용분야가 확대되면서 데이터로서의 역할이 점점 커지고 있음
          *SVG(Scalable Vector Graphics)포맷과 같은 그래픽 분야 전자상거래의 트랜잭션 처리, MathML과 같은 수학식 표현 등이 사용
          2. DTD(Optional) : DTD를 사용하는 경우에는 어떤 DTD를 사용할지를 선언한 내용또는 DTD가 포함
          *standalone : 외부 마크업 선언의 사용 여부를 표시 외부 마크업 선언으 한개이상 선언했을떄 no
          *encoding : 문서 작성시에 사용된 인코딩 방식을 기술
          *type : 사용할 스타일 시트의 타입을 기술 XSL(text/xsl)과 CSS(text/css)가 있음
          *href : 사용할 스타일 시트 파일의 위치를 기술
          *EMPTY : 컨텐츠 스펙이 EMPTY인 경우라면 이 엘리먼트는 내용으로 아무 것도 갖을 수 없다는 것을 의미하고 empty element로 사용
         1. MAIL 엘리먼트에는 SUBJECT,SENDER,RECEIVER,BODY,SIGNATUER 엘리먼트가 순서대로 위치하는데 ,다른 엘리먼트들은 단 한번 위치하지만 RECEIVER 엘리먼트는 1개 이상 올수 있으며, SIGNATURE 엘리먼트는 한 번 나오거나 또는 사용하지 않아도 되는 예
  • woodpage/VisualC++HotKeyTip . . . . 48 matches
          *사용도 : ***** (무지 많이 사용 없으면 코딩하기 정말 싫을거같음)
          *사용도 : * ( 난 별로 사용안함 Ctrl+Tab과 F12를 더 자주이용함 )
          *사용도 : ****
          *사용도 : ****
          *사용도 : * (가끔 필요할때까 있음)
          *사용도 : * (F12를 사용함)
          *사용도 : ** (그냥 실행시켜서 봄)
          *사용도 : * (키를 3개씩 누를 힘이 없음 ㅠ.ㅠ)
          *사용도 : ****
          *사용도 : *
          *사용도 : *
          *사용도 : 안씀
          *사용도 : *****
          *사용도 : *
          *사용도 : *****
          *사용도 : ****
          *사용도 : **
          *사용도 : 사용안함(역시나 마우스로)
          *사용도 : *
          *사용도 : *** (블록이 많을때 꽤 편리)
  • Android/WallpaperChanger . . . . 43 matches
          // 서비스에 대한 스레드에 연결된 Handler. 타이머 이용한 반복 처리시 사용.
          // startId : 서비스 시작요구 id. stopSelf에서 종료할 때 사용.
          //onStart는 여러번 호출될 수 있기 때문에 식별자로 사용.
          // 원격 메소드 호출을 위해 사용
         || 4/28 || WallPaperAndroidService에서 Bitmap Loading방식 바꿈. 먼저 Loading을 해서 준비해놓고 순서가 오면 화면이 바뀌는 형식으로 바꿔놓음.시간 설정 저장 DB adapter생성 및 DB새로 만들어서 저장함.사용자의 편의를 위한 TextView설명 추가 ||
         네이티브 메소드를 사용하라
         내부에서 Getter/Setter 사용을 피하라
         주의 깊게 향상된 반복문(Enhanced For Loop)을 사용하라
         내부 클래스와 함께 패키지 범위를 사용하라
         이것이 바로 이 가이드라인이 중요한 이유입니다. 안드로이드의 성공은 여러분의 애플리케이션이 제공하는 사용자 경험(UX)에 달렸고, 사용자 경험이란 것은 여러분의 코드가 빠르고 팔팔하게 반응하는지, 아니면 느리고 무거운지에 달렸습니다. 모든 우리의 애플리케이션들은 같은 장치에서 동작할 것이기 때문에, 어떤 의미로, 우리 모두 함께 이 것들을 지키도록 최선을 다해야 합니다. 이 문서를 운전면허를 딸 때 배워야만 하는 도로교통법이라고 생각하세요: 모든 이가 따르면 문제없이 원활하겠지만, 따르지 않는다면 사고가 날 것처럼 말입니다.
         객체의 생성은 결코 공짜가 아닙니다. 임시 객체들을 위해 쓰레드-당(per-thread) 할당 풀을 사용하는 세대형(generational) GC는 더 낮은 비용으로 할당 할 수 있지만, 메모리를 할당한다는 것은 메모리를 할당하지 않는 것 보다 언제나 더 높은 비용이 듭니다.
         만약 사용자 인터페이스 루프에서 객체를 할당한다면, 주기적으로 가비지 컬렉션을 강요하게 될 것이고 사용자 경험에 있어서 조그마한 "딸꾹질(거북함)"을 만들게 될 겁니다.
         일반적으로, 가능하다면 짧은 수명의 임시 객체 생성을 피하십시오. 더 적은 객체들을 만든다는 것은 사용자 경험에 직접적인 영향을 주는 가비지 컬렉션 줄여줌을 뜻합니다.
         네이티브 메소드를 사용하라
         문자열을 처리할 때, String.indexOf(), String.lastIndexOf() 와 그 밖의 특별한 메소드를 사용하는 것을 주저하지 마십시오. 이 메소드들은 대체적으로, 자바 루프로 된 것 보다 대략 10-100배 빠른 C/C++ 코드로 구현이 되어있습니다.
         이 조언의 반대적 측면은 네이티브 메소드를 호출하는 것이 interpret방식의 메소드 호출보다 더 비용이 높다는 것입니다. 피할 수 있다면, 사소한 계산에는 네이티브 메소드를 사용하지 마십시오.
         전통적인 지혜에서는 Map을 사용해야 한다고 할 것입니다. Map 인터페이스를 구현한 어떤 것으로라도 구현체를 바꿀 수 있기 때문입니다. 전통적인 지혜는 전통적인 프로그래밍에는 맞습니다만, 임베디드 시스템에는 그다지 대단하지 않습니다. 인터페이스 참조를 통해 호출하는 것은 명확한 참조를 통한 가상 메소드 호출보다 2배 더 소요될 수 있습니다.
         여러분이 하는 일에 적합하여 HashMap사용을 선택했다면 Map으로 호출하는 것은 거의 가치가 없습니다. 코드를 리팩터링 해 주는 IDE의 가능성을 고려해 보더라도, Map으로 호출하는 것은 큰 가치가 없습니다. 여러분이 코드의 방향을 확신하지 못한다 해도 말입니다. (다시금 이지만, 공용 API는 예외입니다: 작은 성능 고려보다 좋은 API가 언제나 으뜸입니다.)
         내부에서 Getter/Setter 사용을 피하라
         C++와 같은 네이티브 언어에서 필드에 직접적으로 접근하는 것 (예. i = mCount) 보다 getter를 사용하는 것 (i = getCount())은 일반적인 관습입니다. 이 방법은 C++에서는 훌륭한 습관입니다. 왜냐하면 항상 접근을 inline화 할 수 있는 컴파일러를 사용하고 있고, 필드에 접근을 제한하거나 디버그 해야 한다면 언제나 코드를 추가할 수 있기 때문입니다.
  • 창섭/배치파일 . . . . 35 matches
         대부분의 사람들은 배치파일이 도스환경을 쉽게 만든다는 사실을 과소평가하는데, 컴퓨터를 좀더 쉽게 사용하고 싶다면 배치파일을 꼭 짚고 넘어가는것이 좋습니다.
         컴퓨터의 동작 상태를 살펴 보면 항상 사용자와의 상호작용에 의하여 작업이이루어진다는것을 알 수 있습니다. 도스라는 운영체제도 사용자가 명령을 입력하면 그 명령에 대해 도스가 분석하여 사용자가 원하는 실행 결과를 제공합니다.
         따라서 사용자는 항상 도스 프롬프트 상에서 일일이 키보드를 이용한 타이핑으로 명령을 내려야 하고, 하나의 명령이 내려지면 완료될 때까지 다음 명령을 내릴수가 없습니다. 작업 과정이 얼마되지 않는다면 큰 상관이 없으나 그 과정이 매우 길고 복잡하다면 사용자는 지루함을 느끼게 됩니다. 또한 비록 짧은 작업과정이라도 컴퓨터를 켤때마다 매번 똑같은 과정을 일일이 지시하는 것도 귀찮을 것입니다.
         그래서 사용자들은 문서작성에 이용하는 워드프로세서나 텍스트에디터 등을 이용해 배치 파일을 작성할 수 있습니다. 그러나 워드프로세서는 덩치가 크고 원래 목적이 편집과 출력을 위해 만들어진 것이므로 단순한 배치 파일을 작성하는 데는 권하고 싶지 않습니다.
         배치 파일은 파일 안에 기록되어 있는 명령의 순서대로 실행됩니다.가장 대표적인 것이 부팅에 이용되며, 컴퓨터의 루트 디렉토리에 위치하고 있는 Autoexec.bat 파일입니다. 그런데 만약 배치 파일의 실행의 순서를 순차적이 아닌멀티부팅용 Autoexec.bat 처럼 사용자 마음대로 정하고 싶다면 배치파일에 제공되는배치명령어의 용도를 알고 있어야 합니다.
         현재 실행중인 배치 파일을 종료하지 않고 필요한 다른 배치파일을 호출하여 실행한 다음 원래의 배치파일로 다시 돌아오려고 할 때 사용됩니다.
         ◇ 사용법 : Call [drive:]\[경로]\<배치파일명>[.BAT]
         배치 프로그램 내에서 사용자의 선택을 묻기 위해 사용됩니다. 배치 파일 제작자가 설정한 물음을 출력하면서 지정된 키 입력을 기다립니다. 이 명령은 배치파일 내에서만 사용 가능합니다.
         ◇ 사용법 :choice [/C[:]문자열][/N][/S][/T[:]기본키,대기시간][메세지]
         - /C[:]문자열 : 사용자가 선택할 수 있는 키목록을 [] 괄호 내에 ', ' 로 구분하여 출력하고 /C 스위치를 사용하지 않으면 기본적으로 YN이 사용됩니다.
         - /S : 사용자의 입력에서 소문자, 대문자를 구분하도록 합니다.
         - /T[:]기본키, 대기시간 : 기본키를 지정한 후 대기시간 동안 사용자의 키 입력이 없으면 자동적으로 기본키가 입력된 것으로 간주하고 진행됩니다. 지정 가능한 대기시간은 초단위이며 0에서 99 사이의 값입니다.
         ◇ 설명 : 입력 가능한 키를 a,b,C,D로 한정하며 사용자로부터 입력되는 영문자의 대,소문자를 구분하는데, 만약 5초 내에 사용자로부터 키 입력이 없다면 C 가 입력된 것으로 간주합니다. 그리고 화면에는
         ◇ 사용법 : echo [on/off] [문자열]
         ◇ 사용
         - %%<변수>, &<변수> : 변수로 사용되는 것은 임의의 영문자로 1자만 허용됩니다. 주의할 점은 배치파일에서 사용할 경우는 반드시 %%처럼 두개를 연달아 사용해야 하며, 일반 도스 프롬프트에서 사용할 때는 % 하나만 사용합니다.
         ◇ 사용법 : Goto <레이블>
         ◇ 사용법 : If [NOT] <조건> <명령>
         - EXIST <파일명> : <파일명>으로 지정한 파일(경로포함)이 존재할 때에만 참이 되고 <명령>이 실행됩니다. <파일명>에는 와일드카드 문자의 사용이 가능합니다.
         ◇ 사용법 : Pause [문자열]
  • Java Study2003/첫번째과제/장창재 . . . . 33 matches
          - 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위한 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
         컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
         자바 바이트코드 명령어를 해석하고, 이를 자바 인터프리터가 설치되어 있는 플랫폼(윈도우 95/98/NT, 유닉스, 매킨토시 등)에 맞게 실행시켜 줍니다. 자바 인터프리터는 자바 바이트코드를 실행시켜 주기 위한 기능을 명세하고 있는 자바 가상머신을 구현해 놓은 것으로서 자바 가상머신과 같은 의미로 사용되며, 주로 자바 가상머신으로 많이 사용됩니다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
         자바 API는 윈도우 API와 같이 운영체제에서 제공해 주는 라이브러리와 같은 것입니다. 다시 말해서, 자바 프로그램을 개발하기 위해 사용할 수 있는 라이브러리 또는 클래스들이라 할 수 있습니다. 이러한 자바 API는 서로 관련된 클래스들을 묶어서 패키지 단위로 제공되고 있습니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
          먼저, 자바는 기계어 코드를 직접 실행시키는 것이 아니고, 플랫폼 독립적인 중간 코드 형태인 바이트코드를 자바 가상머신이 해석하여 실행시키는 인터프리터 방식을 취하고 있으므로 느린 수행 시간을 갖습니다. 일반적으로 C보다 평균 8배 정도 느리고, 최대 20배까지 느립니다. 이렇게 느린 수행 시간을 해결하기 위해 다음과 같은 기술을 사용할 수 있습니다.
         두 번째, 자바 애플릿을 웹 서버로부터 웹 클라이언트가 다운로드하여 실행시켜 주게 되는데, 이 때 네트워크 속도가 느리다는 문제가 있습니다. 이런 문제점에 대해서는 다음과 같은 기술을 사용하여 해결하려 하고 있습니다.
         자바 애플릿을 실행시키기 위해 애플릿을 다운로드해야 하는데, 이 때 애플릿에서 사용하는 데이터들도 존재할 수 있습니다. 예를 들어, 애니메이션을 수행하는 애플릿이 있는 HTML 페이지에 접속하여 그 애플릿을 실행시켜야 할 경우, 해당 애플릿 파일과 애플릿에서 애니메이션을 위해 사용하는 각 프레임 이미지도 존재할 것입니다. 따라서, 애플릿 파일은 물론 애플릿에서 사용하는 이미지 파일도 다운로드해야 애플릿에서 제대로 애니메이션을 수행할 수 있겠지요. 이 때, 애플릿 실행과 관련된 모든 파일을 JAR 또는 ZIP 형태의 압축 파일로 묶어 전송하게 됩니다. 이렇게 함으로써, 느린 네트워크를 이용하여 애플릿과 관련된 파일들을 다운로드 하는데 드는 시간을 줄일 수 있습니다.
         다운로드 받은 애플릿과 애플릿 관련 파일들은 웹 클라이언트의 디스크에 캐싱합니다. 예를 들어, 웹 클라이언트가 애플릿이 포함된 페이지를 보다가 다른 페이지에 잠깐 들렀다가 애플릿이 포함된 페이지로 다시 돌아올 경우, 애플릿과 관련된 모든 파일들을 다시 다운로드하는 것이 아니고 웹 클라이언트의 디스크에 캐싱 되어 있는 애플릿 관련 파일들을 사용하게 됩니다. 이렇게 함으로써, 느린 네트워크를 이용하여 애플릿과 관련된 파일들을 다시 다운로드 하는데 걸리는 시간을 없앨 수 있습니다.
         하나의 HTML 페이지 내에 있는 애플릿은 하나의 클래스만을 사용할 경우도 있겠지만, 대부분의 경우 여러 개의 클래스를 필요에 따라 사용하게 됩니다. 여러 개의 클래스를 사용할 경우, 모든 클래스가 동시에 사용되지는 않겠지요. 또한 어떤 클래스는 정의는 되어있지만, 필요에 따라 전혀 사용되지 않을 수도 있겠지요. 따라서, 자바에서는 필요할 경우에만 클래스를 로딩하여 사용하게 됩니다. 이러한 기술을 느린(lazy) 클래스 로딩 이라 합니다.
         이러한 문제는 자바가 스레드 스케줄링 정책 구현에 의존하고, synchronized 명령어가 모니터 기반의 동기화 기법만 제공하고 큐 대기 시간을 예측할 수 없으며, notify() 메소드가 스레드를 깨우는 순서가 불명확하고, 우선순위 역전(priority inversion_의 가능성이 있습니다. 이러한 문제는 API 수준에서 해결되어야 하고, 실시간 타스크 처리를 위한 우선순위 레벨을 확장하고, 우선순위 상속(priority inheritance) 또는 우선순위 최고 한도 제한(priority ceiling) 등과 같은 우선순위 역전 방지 (priority inversion avoidance) 프로토콜을 사용하고, MuteX, 이진 세마포어(Binary Semaphore), 계수 세마포어(Counting Semaphore) 등을 사용할 수 있습니다.
         이러한 문제점은 느린(Lazy) 클래스 로딩에서 발생하거나 메모리 할당과 가비지 콜렉션이 비결정적이고 느린 최악의 경우(worst-case) 특성을 가지며 stop-start 방식으로 모든 스레드를 멈출 수 있다는 문제점이 있습니다. 이를 해결하기 위해 클래스를 미리 로딩(class preloading)한다거나 정적 초기화(static initializer)를 제거하여 패키지 라이브러리에 대해서는 가상머신 초기화를 사용하고 응용프로그램에서는 명시적인 초기화 를 사용하게 하는 등의 기법을 사용할 수 있습니다. 그리고, 메모리 할당과 쓰레기 수집(garbage collection)에 대해서는 정해진 시간 내에 입터럽트 가능한 쓰레기 수집을 하는 것입니다. 또는 표준화된 실시간 API를 제공함으로써 해결할 수 있습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
          * 첫번째 과제에서 제가 의도했던 바가 바로 "자바를 왜 사용하는 것인가?" 가 바로 초점이었는데 아쉽게도 카피 & 페이스트 만 해서 과제를 끝마치신거 같군요. 밑의 질문은 위의 내용을 단 10%도 이해를 못했다는 느낌이 드네요. 자신이 한 과제를 차근차근 다시 읽어보시면서 "자바는 무엇이며 왜 사용하는가?" 에 대한 해답을 얻으시기 바랍니다.
  • 논문번역/2012년스터디/서민관 . . . . 33 matches
         아직까지는 대부분의 off-line 필기 인식 시스템은 우편 번호를 읽거나 은행 수표 등의 모양을 처리하는데 사용된다.
         이런 시스템들은 분할된 문자나 단어에만 한정적으로 사용되고 있고, 제약사항이 없는 필기 인식 시스템은 무척 적다.
         우리가 사용할 데이터베이스에 대해서는 섹션 3에서 소개한다.
         그 후에 이어지는 섹션들에서 전처리 과정, 특징 추출을 위한 방법들, 통계적 모델링과 인식에 사용된 기술 들에 대해서 서술할 것이다.
         특히 적은 양의 어휘를 이용하는 분리된 단어를 인식하는 시스템이 우편번호나 legal amount reading에 사용되었고, 높은 인식률을 기록하였다. 그래서 처리 속도나 인식의 정확도를 높일 여지가 없었다 [2, 8].
         이와는 달리 방대한 양의 단어를 사용하는 제한이 없는 필기 텍스트의 인식은 훨씬 어렵다.
         [1, 18]과 [15]에 HMMs 방법을 사용하는 텍스트 분리에 기반을 둔 방법과 recurrent neural network와 HMMs를 혼합한 방법의 각 예시가 있다.
         이어지는 섹션들에서 설명할 시스템은 비슷한 접근법을 사용하였는데, 전처리와 특징 추출 방법이 약간 다르다.
         추가적으로, 각 문자 종류에 따라 HMMs나 통계적 언어 모델을 사용하는 등의 allograph 문자 모델을 사용하는 것 뿐 아니라 특징 벡터들에 대해 선형 판별 해석을 적용한 효과에 대해서도 살펴보았다.
         이 데이터베이스는 단일 작성자에 의한 25페이지의 필기 텍스트로 이루어져 있으며, 웹에서 공개적으로 사용할 수 있다.
         주의할 점은 이 전처리 단계는 IAM 데이터베이스에는 적용할 필요가 없다는 것이다. 작성자들이 두 번째 용지에 자를 사용하게 되었고 스캔을 하는 동안에도 공식을 통해 정렬이 되었기 때문이다.
         안정적인 정규화 인자를 계산하기에 너무 짧은 지역을 회피하기 위해서 임계치를 사용하였다.
         각도 히스토그램에서 누적되는 모서리 기반 데이터를 얻기 위해서 정교한 모서리 검출기가 사용되었다.
         이 히스토그램의 평균값은 일그러진 각도(slant angle)로서 사용되었다.
         따라서 우리는 window 내부에 있는 4개의 하단 윤곽점과 상단 윤곽점, 평균 값을 이용해서 라인을 추정하였다. 그리고 라인의 위치를 각각 (8), (9), (10)의 특징으로 사용하였다.
         문자 모델들의 반복으로 구성된 결합 모델이 전체 텍스트 라인을 인식하기 위해서 사용된다.
         이것은 기준선 시스템과 반대로 HMMs가 사로 다른 문자의 하위 항목을 모델링하기 위해서 사용된다는 것을 뜻한다.
         이 실험들의 문자 오류율은 table 1에 나타나있다. 실험의 타입은 첫 두 열에 나와 있고, 언어 모델을 적용하지 않은 에러율은 세 번째 열에, bi-gram 언어 모델을 문자 수준에서 사용한 결과는 네 번째 열에서 찾을 수 있다.
         단일 작성자인 경우의 실험은 노인(Senior) 데이터베이스에서 학습을 위해 282줄의 텍스트를 사용했고 테스트를 위해 141줄의 텍스트를 사용했다. 문자 수준의 bi-gram perplexity는 15.3이었다.
         복수 작성자의 수필 인식 작업을 위해 IAM 데이터베이스에서 c03의 하위집합에 있는 440줄의 텍스트 라인들이 학습을 위해 사용되었고, 109줄이 테스트를 위해 사용되었다.
  • 채팅원리 . . . . 32 matches
         서버쪽에서는 총 4개의 Thread가 사용되었다. Thread는 메모리를 공유하면서도 독립적으로 실행될 수 있는 프로세스 단위라 할 수 있겠다. 4개의 Thread는 다음과 같다.
         1. 사용자가 접속한다.
         2. 사용자가 나간다.
         UserListControl : 사용자의 접속을 관리한다. 채팅에 접속하려는 사람이 원하는 ID를 기존의 사용자들과 비교하여, 없으면 채팅 접속을 허락하고, 있으면 다른 ID를 사용할 것을 권한다.
         SendUser : 클라이언트 사용자가 현재 접속되어 있는 사람들의 ID를 알 수 있게 List에 사용자 이름을 보내주는 클래스이다.
         클라이언트쪽에는 4개의 Thread가 있다. JFrame을 사용한 클래스가 2개 있는데, 하나는 Login때 ID사용 허가를 확인한는 프레임이고, 다른 하나는 채팅의 기본 프레임이다. 4개의 Thread는 다음과 같다.
         Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
         UserList : ChatMain 클래스의 사용자 List에 접속한 사용자 ID를 보여주는 기능을 한다.
         클라이언트가 시작되면 Login을 위한 ID 체크를 한다. 서버에 접속하여 서버에 저장되어 있는 사용자 ID Vector에 사용하고자
         하는 ID와 같은 ID가 있는지 없는지 비교한 후 결과를 클라이언트에 돌려준다. 이미 사용중인 ID이면 다른 ID를 사용할 것을 권하고, 사용가능하다면 채팅을 시작한다.
         클라이언트가 대기실에 입장하면 내부적으로 클라이언트는 서버쪽에 새 사용자가 접속했다는 메시지를 보낸다. 그러면서, Login 프레임대신 ChatMain 프레임을 보이게 한다. 이제부터 대기실에서 채팅이 가능하게 된다. 서버쪽에는 새 사용자가 대기실에 들어왔다는 것을 보여준다.
         == 다른 사용자의 접속 ==
         새 사용자가 접속을 시도하면 처음과 마찬가지로 사용자 ID 체크를 하게된다. ID 사용 확인을 한 후에 대기실에 접속을한다. 대기실에 접속하면, 기존에 대기실에 있던 사용자들의 사용자 ID를 보여주는 리스트에 새로 들어오는 사용자의 리스트가 추가되면서, 채팅화면에 새로운 사용자가 들어왔다는 메시지가 나오게 된다.
         2명 이상의 사용자가 접속한 상태이므로 실제로 채팅이 가능하게 된다. 채팅의 내용은 클라이언트의 TextField의 내용을
         채팅을 종료할 때는 채팅 윈도우의 종료 버튼을 누르면 윈도우 종료 이벤트가 발생한다. 클라이언트는 채팅 종료를 확인하는 옵션 패널을 보여준 후, 서버쪽에 채팅을 종료한다는 내용을 보낸다. 이때 보내는 내용은, 자신이 사용하고 있는 ID를 제거, 자신의 주소를 제거, 사용자 1명의 감소등이다.
  • 토비의스프링3/오브젝트와의존관계 . . . . 32 matches
          * 사용자 정보를 JDBC API를 이용해 DB에 저장하고 조회할 수 있는 간단한 DAO 만들기.
          * DB를 사용하여 데이터를 조회, 조작하는 기능을 전담하도록 만든 오브젝트.
          * 사용자 정보를 저장할 때 자바빈 규약을 따르는 오브젝트를 이용하면 편리하다.
          * User : 사용자 정보 저장용 자바빈 클래스
          * DAO의 기능을 사용하는 웹 어플리케이션을 만들어 서버에 배치한 뒤 웹 브라우저를 통해 사용해보거나
          1. 사용자 등록/조회를 위한 SQL문을 담을 Statement를 만들고 실행하는 것.
          * 런타임 사용관계 : 오브젝트 사이의 관계란 런타임시에 한 오브젝트가 다른 오브젝트의 레퍼런스를 가지고있는 것.
          * 사용할 오브젝트를 내부에서 생성
          * 변경이 필요한 알고리즘을 인테페이스를 통해 외부로 분리시키고, 이를 구체화한 클래스를 필요에 따라 바꿔 사용하게 하는 패턴
          * 관심사의 분리 - 오브젝트를 생성하는 쪽과 생성된 오브젝트를 사용하는 쪽을 분리하는 역할을 한다.
          * 라이브러리는 애플리케이션이 능동적으로 사용한다.
          * 반면 프레임워크는 애플리케이션 코드가 프레임워크에 사용된다.
          * 빈 팩토리(bean factory) : 빈의 생성과 관계설정 등의 제어를 담당하는 IoC오브젝트. 스프링의 IoC를 담당하는 핵심 컨테이너. 일반적으로 직접 사용하지 않고 이를 확장한 애플리케이션 컨텍스트를 사용한다.
          * 애플리케이션 컨텍스트(application context) : IoC방식을 따라 만들어진 일종의 빈팩토리. 별도의 정보를 참고해서 빈의 생성, 관계설정 등의 제어 작업을 총괄한다. 설정 정보를 따로 받아와서 이를 활용하는 IoC엔진이라고 볼 수 있다. 주로 설정에는 xml을 사용한다.
          * 설정정보 : 애플리케이션 컨텍스트나 빈 팩토리가 IoC를 적용하기 위해 사용하는 정보. 주로 IoC 컨테이너에 의해 관리되는 애플리케이션 오브젝트를 생성하고 구성할 때 사용된다.
          * 만들어진 설정정보를 사용하는 애플리케이션 컨텍스트의 생성 및 빈 생성 ->
          * 1. 애플리케이션 컨텍스트는 ApplicationContext타입의 오브젝트다. 사용시 @Configuration이 붙은 자바코드를 설정정보로 사용하려면 AnnotationConfigApplicationContext에 생성자 파라미터로 @Configuration이 붙은 클래스를 넣어준다.
          getBean()메소드 : ApplicationContext가 관리하는 오브젝트를 요청하는 메소드. ""안에 들어가는 것은 ApplicationContext에 등록된 빈의 이름. 빈을 가져온다는 것은 메소드를 호출해서 결과를 가져온다고 생각하면 된다. 위에서는 userDao()라는 메소드에 붙였기 때문에 ""안에 userDao가 들어갔다. 메소드의 이름이 myUserDao()라면 "myUserDao"가 된다. 기본적으로 Object타입으로 리턴하게 되어있어서 다시 캐스팅을 해줘야 하지만 자바 5 이상의 제네릭 메소드 방식을 사용해 두 번째 파라미터에 리턴 타입을 주면 캐스팅을 하지 않아도 된다.
          * 애플리케이션 컨텍스트를 사용했을 때 얻을 수 있는 장점
          * 4. 싱글톤의 사용은 전역상태를 만들 수 있기 때문에 바람직하지 못하다.
  • CToAssembly . . . . 30 matches
         이는 하드웨어만을 고려한 것이다. 모든 마이크로컴퓨터 시스템은 하드웨어 구성요소들의 작업을 지시할 소프트웨어가 필요하다. 컴퓨터 소프트웨어는 시스템측(시스템 소프트웨어)과 사용자측(사용자 소프트웨어)으로 구분할 수 있다.
         프로그램을 실행하기위해 필요한 함수들을 모아둔 기본 라이브러리나 사용자가 만든 라이브러리는 사용자 소프트웨어에 포함된다.
         기계어 프로그램은 컴퓨터가 이해하고 직접 실행할 수 있는 프로그램이다. 어셈블리어 명령어는 기계어 명령어와 보통 일대일 관계로 대응하지만, 우리가 쉽게 이해할 수 있는 문자열을 사용한다. 고급언어 명령어는 영어에 매우 가까워서 프로그래머가 생각하는 방식과 자연스럽게 대응한다. 결국 어셈블리어나 고급언어 프로그램은 변환기라는 프로그램에 의해 기계어로 변환되야 한다. 이 변환기를 각각 어셈블러(assembler), 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 한다.
         일반적으로 어셈블리어 명령어는 라벨(label), 연상기호(mnemonic), 연산수(operand)로 구성된다. 연산수 표시방법에서 연산수의 주소지정방식을 알 수 있다. 연상기호는 연산수에 저장된 정보에 작업을 한다. 사실 어셈블리어 명령어는 레지스터와 메모리위치에 작업을 한다. 80386계열은 eax, ebx, ecx 등의 (32비트) 범용레지스터를 가진다. 두 레지스터, ebp와 esp는 스택을 조작할때 사용한다. GNU Assembler (GAS) 문법으로 작성한 전형적인 명령어는 다음과 같다:
         일반적으로 함수는 함수가 사용할 변수들을 정의한다. 이 변수들을 유지하려면 공간이 필요하다. 함수 호출시 변수값을 유지하기위해 스택을 사용한다. 프로그램 실행중에 반복되는 재귀호출시(recursive call) activation record가 유지되는 방법을 이해하는 것이 중요하다. esp나 ebp같은 레지스터 사용법과 스택을 다루는 push와 pop같은 명령어 사용법은 함수호출과 반환방식을 이해하는데 중요하다.
         = 스택 사용하기 =
         프로그램의 메모리 일부를 스택으로 사용하기위해 비워두었다. Intel 80386 이상의 마이크로프로세서에는 스택 최상위 주소를 저장하는, 스택포인터(stack pointer)라는 esp 레지스터가 있다. 아래 그림 1은 스택에 저장된 세 정수값 49, 30, 72를 보여준다 (정수는 각각 4 바이트를 차지한다). esp 레지스터는 스택 최상위 주소를 저장한다.
         C 프로그램은 수백 수천개의 변수를 다룰 수 있다. C 프로그램에 해당하는 어셈블리코드는 어떻게 변수를 저장하며 변수를 다루기위해 레지스터를 충돌없이 사용하는지 알려준다.
         먼저 스택포인터의 값을 기준포인터 레지스터(base pointer register) ebp에 복사한다. 기준포인터는 스택의 다른 위치를 접근할때 사용할 고정된 기준점이다. foo를 호출한 코드에서도 ebp를 사용하므로, 값을 esp 값으로 대체하기 전에 스택에 복사한다. 명령어 subl $4, %esp는 스택포인터를 감소하여 정수를 담기위한 (4 바이트) 공간을 만든다. 다음 줄은 값 10을 ebp에서 4를 뺀 (4 바이트) 주소에 복사한다. 명령어 movl %ebp, %esp는 스택포인터를 foo 시작시 가졌던 값으로 되돌리고, popl %ebp는 기준포인터 레지스터의 값을 되돌린다. 스택포인터는 이제 foo를 시작하기 전과 같은 값을 가진다. 아래 표는 main 시작과 목록 4의 (main에서 반환을 제외한) 각 명령어 실행후 레지스터 ebp, esp와 3988에서 3999까지 스택 주소의 내용이다. 우리는 main의 첫 명령어 실행전에 ebp는 값 7000, esp는 값 4000을 가지며, 스택 주소 3988에서 3999까지 임의의 값 219986, 1265789, 86이 저장되있다고 가정한다. 또, main에서 call foo 다음에 나오는 명령어의 주소가 30000이라고 가정한다.
         함수로 파라미터를 전달하기위해 스택을 사용할 수 있다. 우리는 함수가 eax 레지스터에 저장한 값이 함수의 반환값이라는 (우리가 사용하는 C 컴파일러의) 규칙을 따른다. 함수를 호출하는 프로그램은 스택에 값을 넣어서 함수에게 파라미터를 전달한다. 목록 5는 sqr이라는 간단한 함수로 이를 설명한다.
         리눅스 시스템호출은 int 0x80을 통해 한다. 리눅스는 일반적인 유닉스 호출 규칙과 다른 "fastcall" 규칙을 사용한다. 시스템함수 번호는 eax에, 아규먼트는 스택이 아닌 레지스터를 통해 전달한다. 따라서 ebx, ecx, edx, esi, edi, ebp에 아규먼트 6개까지 가능하다. 아규먼트가 더 있다면 간단히 구조체를 첫번째 아규먼트로 넘긴다. 결과는 eax로 반환하고, 스택을 전혀 건드리지 않는다.
         asm 명령어를 사용하여 어셈블리 명령어를 C나 C++ 프로그램에 삽입할 수 있다. 예를 들어:
         일반적인 어셈블리코드 명령어와 달리 asm 문장은 C 문법으로 입력과 출력 연산수를 지정할 수 있다. Asm 문장은 아무때나 사용하면 안된다. 그러면 언제 사용해야 하나?
         Asm 문장은 프로그램이 컴퓨터 하드웨어에 직접 접근하게 한다. 그래서 빨리 실행되는 프로그램을 만들 수 있다. 하드웨어와 직접 상호작용하는 운영체제 코드를 작성할때 사용할 수 있다. 예를 들어, /usr/include/asm/io.h에는 입출력 포트를 직접 접근하기위한 어셈블리 명령어가 있다.
         #설명 : 반복문을 사용하여 비트 위치 찾기
         #설명 : bsrl을 사용하여 비트 위치 찾기
         최소한 몇 초동안 실행되도록 큰 값을 명령행 아규먼트로 주고 time 명령어를 사용하여 두 코드의 실행시간을 잰다.
         결과는 컴퓨터마다 다를 것이다. 그러나 인라인 어셈블리를 사용한 코드가 매우 빠르게 실행됨을 확인할 수 있다.
         GCC의 최적화는 asm 표현이 있더라도 실행시간을 최소화하기위해 프로그램 코드를 재배열하고 재작성하려고 시도한다. asm의 출력값을 사용하지 않는다고 판단하면, asm과 아규먼트 사이에 키워드 volatile이 없는 한 최적화는 명령어를 생략한다. (특별한 경우로 GCC는 출력 연산수가 없는 asm을 반복문 밖으로 옮기지 않는다.) asm은 예측하기 힘든 방식으로, 심지어 호출간에도, 옮겨질 수 있다. 특별한 어셈블리 명령어 순서를 보장하는 유일한 방법은 모든 명령어를 모두 같은 asm에 포함하는 것이다.
         컴파일러가 asm의 의미를 모르기때문에 asm을 사용하면 컴파일러의 효율성을 제한할 수 있다. GCC는 어떤 최적화를 막을 수 있는 보수적인 추측을 하게 된다.
  • DataCommunicationSummaryProject/Chapter8 . . . . 30 matches
          * 에어 링크가 동작하기 위해서는 두가지 수신기가 필요한데 사용자에 의해서 작동하는게 MSU(핸드폰) 운영자에 의해서 동작하는게 BTS(Base Transceiver Station) 이다.
          * 여러개의 Base Station이 BSC를 같이 사용한다.
          * BSC가 연결되어 있는 BTS들에게 동적으로 스펙트럼을 할당할 수 있기 때문에 하나의 셀에 더많은 사용자를 수용할 수 있다.
          * 전화기의 교환기 처럼, MSC는 사용자들을 기억하고 있다가 필요할때 부른다.
          * 사용자와 연결하기 위해서 네트워크에서 중요하다
          * 각각의 MSC는 아래와 같은 여러개의 데이터 베이스와 연결되어 있다.(사용자의 위치 추적과, 요금 지불 정보등을 위해서)
          * 자신이 포괄하는 범위내의 사용자에 대해서만 정확한 지리적인 정보를 가지고 있다.
          * 만약 사용자가 범위 밖으로 이동하면, 그 이동한 곳의 MSC 분별 번호를 대신 저장한다.
          * MSC가 포괄하는 위치안에 있는 사용자에게 call 요청이 오면 사용자의 home HLR가 새로운 셀의 VLR에 접촉하고, 사용자에 연결되게 해준다.
          * 이 시스템의 문제는 모든 call이 사용자의 home HLR을 통해서 연결된다는 것이다. 국제적으로 연결되면 비용이 많이 들게 된다.
          * 전화 번호랑 연계하여서 핸드폰을 구분하기 위해서 사용되는 고유의 번호를 가지고 있다.
          * 전화요금이 정확하게 매겨지게 하고, 도난당한 핸드폰의 정보등을 가지고 있어서 도난당한건 사용못하게 하도록 한다.
          * TSC는 네트워크에서 보통 매우 적거나 때때로는 하나만 사용되지기도 한다.
          * 이것은 가장큰 역할은 핸드폰 시스템 자체의 신호 프로토콜을 보통 전화선에서 전화번호와 같은 정보를 나르는데 사용하는 Signaling System 7(SS7)로 변환하는 것이다.
          * 모바일 데이터도 BST나 BSC와 같이 음성 데이터와 비슷한 조직 체계를 사용한다.
          * 인터넷에서 사용되는 IP와 비슷한 GTP(GPRS Tunneling Protocol)라는 프로토콜을 사용한다.
          * 사용자가 이러한 특화된 서비스에 접근할 수 있도록 하기 위해서는, 운영자가 특별한 형태의 GPRS roaming을 구현할 필요가 있다.
          * GRX Roaming : GPRS Roaming Exchange(GRX) 라고 불리우는 새로운 형태의 서비스 공급자를 사용한다. 이것은 다양한 GPRS 네트워크에서 GTP 트래픽을 운반한다. 더 비싸다
          * Richchet에 의해 사용된 MCDN 시스템은 전통적인 cellular 네트워크 구조와는 다소 다른 구조에 기초해 있다. 그것의 크기는 매우 작고, 그것들은 릴레이 형식으로 거대한 BTS에 신호들을 보낸다.
          * 운영자 자신의 WAP 서비스에 접속하는 대신에, 사용자가 WAP gateway를 호출해서 거기에 직접 접근한다. 이것의 문제는 요청에 대한 요금이다. 운영자의 WAP 서비스가 싼데 비해서 WAP gateway에 접속하는데에는 음성전화와 같은 비용이 든다.
  • XMLStudy_2002/XML+CSS . . . . 30 matches
         XML Style의 지정, 브라우저의 사용, 디스플래이 방식 ,XML과 CSS의 작성 방식의 이용방법
          *그리고 스키마의 사용이 보편화 되면서 여러 타입의 데이터들을 포함할 수 있는 문서 포맷이 되어 좀더 다양한 디스플레이 방식이 필요하다.
         <!-- mydoc.css를 사용하겠다 -->
          * <HTML : A>태그를 사용 이것을 사용하기 위해서는
          *그리고 위와 같이 HTML 네임 스페이스를 지정한 경우에는 <HTML : A> 뿐 아니라 다른 HTML의 태그들도 HTML 네임 스페이스의 Prefix를 붙여 사용할 수있다.
         IE5.0을 브라우저로 사용하고 스타일로는 CSS를 사용하여 볼 수 있는 방법을 설명한 것 입니다.
         현재 IE5.0에서는 XML의 표준 스타일시트인 XSL과 CSS로 작성된 스타일을 모두 사용할 수
         사용한 경우, XML 문서를 Parser를 통해 파싱한 뒤
         스타일시트를 만들어져 있어야 하고, 어떤 스타일시트를 사용할 지를 해당 XML문서 내부에
         <PA>만약 XSL로 기술된 스타일시트를 사용하고자 한다면, 다음과 같이하여 사용한다.</PA>
         <PA>이러한 사용할 스타일시트를 선언하는 부분은 XML 문서의 프롤로그에 위치하며,
         <LCOMPO>(4) XML문서에 스타일로 사용하고자 하는 CSS를 적는다.</LCOMPO>
         <PA>DTD를 보고, 사용되는 엘리먼트들에 대해서 스타일을 지정해 둔다. 만약 DTD를 사용하지 않는 문서라면, 직접 문서내용을 보고 문서 내에서 사용되는 엘리먼트들을 찾아봐야 한다.
         같은 DTD를 사용하는 XML 문서들에 대해서는 같은 스타일을 지정해서 사용할 수 있으므로,
         스타일은 한 번만 작성해도 같은 클래스에 속하는 XML문서들이 함께 사용할 수 있다.
         또 반면에, 하나의 문서라도 작성된 스타일이 여럿이라면, 이 여러개의 스타일들을 사용해서
         <LCOMPO>(3) <HTML:A href="mydoc_style.xml">이 XML 문서가 사용하는 CSS로 작성된 스타일시트 보기</HTML:A></LCOMPO>
         <LCOMPO>(4) <HTML:A href="mydoc_dtd.xml">이 XML 문서가 사용하는 DTD 보기</HTML:A></LCOMPO>
         HTML A링크 기능을 사용할 수는 있다.
         XLink에서 제안되는 확장된 개념의 링크를 사용하는 것은 아직은 IE5.0브라우저
  • SmallTalk/강좌FromHitel/강의3 . . . . 27 matches
         이제까지 우리는 Dolphin Smalltalk를 사용하면서 저장 기능을 사용할 수 없
         Arts사(社)는 공개용으로 사용할 수 있는 Dolphin Smalltalk 98 / 1.1판을
         배포하면서, 그를 사용하는 사람들이 무료로 등록번호를 발급 받아서 사용
         도록 하고 있습니다. 이는 Dolphin Smalltalk를 사용하는 사람들이 어떤 계
         고 생각합니다. 또한 사용자 지원을 위해서도 필요한 사항이라고도 합니다.
         등록은 무료입니다. 그러므로 인터넷을 사용할 수 있는 사람이라면 바로 등
         사용하는 방법과 전자 우편(e-mail)을 사용하는 방법이 있습니다.
         1) WWW를 사용하는 방법
         * Product: 사용하고 있는 Dolphin Smalltalk의 종류. 우리는 1.1판을 고르
          이전에 Smalltalk를 사용한 경험을 묻고 있습니다.
          Dolphin Smalltalk를 어떤 목적에 사용할 것인지를 묻습니다.
         Smalltalk는 저장 기능을 사용할 수 있게 설정됩니다. 이제 여러분이
         2) 전자우편을 사용하는 방법
         WWW를 사용하기 어렵거나 인터넷을 사용하기 어려운 분들은 전자우편을 이용
         일단 등록판이 생성되면 모든 기능을 제한 없이 사용할 수 있습니다.
         을 것입니다. 이제 저장 기능을 사용할 수 있는 여러분의 Dolphin Smalltalk
         에서 아래의 명령을 글쇠를 사용하여 실행해서 다시 한 번 디지털
         > Exit Dolphin 메뉴를 사용해서 Dolphin Smalltalk를 끝내봅시다. 이 때
         등 다른 개발 환경을 사용하던 사람이라면 Smalltalk의 객체가 살아있다는
         위한 명령은 바탕글에 들어있습니다. 바탕글에 있는 명령을 사용하면 객체를
  • 새싹교실/2011/데미안반 . . . . 27 matches
          * C언어의 단점 중 low-level적 특성으로 프로그래밍을 하는데 많은 주의를 요한다 했는데, 실제로 잘못 사용한 사례는?
          * 나중에 포인터를 사용하는 실습을 하다 보면 많은 깨달음을 얻을 수 있지 않을까 싶습니다...
          * 산술연산자 사용
         #include <stdio.h> //printf 함수 사용
          * 기타 대입 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 증가, 감소 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 관계 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 논리 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 산술 연산자 사용 예에서 val1과 val2를 곱셈, 나눗셈, 나머지를 구하는 것을 추가하여 출력해보자.
          * 기타 대입 연산자 사용 예에서 assert(val1 == 7); 를 assert(val1 != 7); 로 바꾸어 실행해보기.
          * 기타 대입 연산자 사용 예에서 -= , /= , %= 한 결과를 assert(val1 == 7); 와 같이 assert함수 안에 넣어 확인하시오.
          * 증가 감소 연산자 사용 예에서 감소연산자를 사용한 예를 추가해보자.
          * 관계 연산자 사용 예에서 >= , != 가 사용되는 사례를 만들어보자(변수 val3 만들어서).
          * 원래는 원칙상으로 void라고 명시해서 매개변수를 사용하지 않고 비어있다!!고 알려야하지만, 아무것도 안 쓰는 것도 비어있다는 의미로 허용해서 그렇습니다.
          * 2의 보수는 뭐고, 왜 사용하나요?
          *[http://ko.wikipedia.org/wiki/2%EC%9D%98_%EB%B3%B4%EC%88%98 2의 보수]에 2의 보수에 대한 설명이 있습니다. 왜 0000 0010 의 음수 형태를 1000 0010 으로 하지 않고, 2의 보수 형태인 1111 1110 을 사용했냐! 이건 컴퓨터가 음수와 양수를 이용한 계산을 편리하게 하기 위해 그런듯합니다. 2-2를 우리야 바로 0이라고 계산할 수 있지만, 컴퓨터는 2+(-2)형태로 바꿔서 0000 0010 과 1111 1110을 더해 0000 0000 이 나오게 합니다. '''컴퓨터에서 가산기를 사용하여 뺄셈을 하기 위해 음수의 표현으로 자주 사용된다'''라고 사전에 나오네요ㅠㅠㅋ
  • JavaNetworkProgramming . . . . 25 matches
          *자원과 관련된 보안 : 자원과 관련된 보안은 로우 레벨 보안보다 좀더 프로그래머에게 직접적으로 관련되어있음 애플릿을 클라이언트로 사용할때 더 중요함 이는 애플릿이 보안 제약에 직접적으로 연관되어 있기 때문
          *간단한 사용자 예외
          public class AuthException extends IOException{ //사용자 예외를 정의할때 적당한 예외 클래스의 서브클래스가 되는것이 중요한데
          *자바에서 코드의 특정 부분을 한번에 한 쓰레드만이 접근할수 있도록 해주기위해 synchronized 문장을 사용
          *세마포어(semaphores) : 세마포어란, 자바 객체가 아니라 특별한 형태의 시스템 객체이며, 이객체는 '얻기(get)'와 '놓기(release)'라는 두 가지 기능을 가지고 있다 한 순간에, 오직 하나의 쓰레드만이 세마포어를 얻을 수 있으며(get), 한 쓰레드가 세마포어를 가지고 있는 동안 세마포어를 얻으려고 시도한 다른 쓰레드들은 모두 대기 상태에 들어간다. 다시 쓰레드가 세마포어를 놓으면(release) 다른 쓰레드가 세마포어를 얻고(get) 다시 대기상태로 들어간다. 이런한 매커니즘을 사용하여 특정 작업을 동기화 할수있다.
          *동기화의 효율 : 대부분의 경우 동기화 작업은 매우 중요하며, 때로는 적대 생략해서는 안되는 경우도 있다. 그러나 불필요한 동기화 작업은 프로그램의 수행 성능을 떨어뜨리고, 재사용성을 감소시키며, 프로그램이 교착 상태에 빠지게 할 수도 있다.
          *Thread 클래스 : 보통 상속받아서 사용
          } //경우가 생길 수도 있다. 따라서 stop() 메소드를 사용하는 대신 쓰레드 자신의 종료상태를 인지하고, 수행을 중지하는 플래그
          } //사용하는 방법이 더좋다. 가장 권장되는 방법은 위와 같은 플래그와 함께 interrupt()를 사용하는 것이다.
          *효과적인 다중 쓰레딩 : 자바에서 쓰레드를 생성하는 것은 매우 느린 작업이며 일부 자바 가상 머신은 쓰레드에 관련된 메모리 누스 때문에 고생하기도 한다. 따라서 효과적인 쓰레딩을 위해서는 새로 쓰레드르 생성하는 것 보다 이전에 생성했던 쓰레드 객체를 재사용하느 것이 좋다 진보된 형대의 자바 가상 머신에서는 시스템 레벨에서 이러한 쓰레드 재사용을 지원하기도 하지만, 이경우조차도 쓰레드를 재상용하는 방식을 사용하면 여러가지 이점을 얻을수 있다. --예제는 17장쯤에..
          *6장 : 스트림을 사용한 파일 처리 프로그램밍의 진수
          *10장 : 문자 스트림을 사용한 개선된 I/O기법
         === Chapter6 스트림을 사용한 파일처리 프로그래밍의 진수 ===
          *이외에 File,FileDescriptor,RandomAccessFile에 관해 간략히 나오고 파일스트림과 같이 사용하는 예제가 나온다.
          *FileDescriptor클래스 : FileDescriptor 객체는 하위 레벨의 시스템 파일 설명자로의 핸들이다. 파일 설명자는 열려진 파일을 의미하며, 읽기 작업이나 쓰기 작업을 위한 현재의 파일 내의 위치와 같은 정보들을 포함한다. RandomAccessFile이나 FileOutputStream, FileInputStream을 사용하지 않고는 유용하게 FileDescritor를 생성할수 있는 방법은 없다 . --;
          *RandomAccessFile클래스 : 파일스트림을 사용하지않고 파일을 쉽게 다룰수 있음 장점은 파일스트림 클래스는 순차적 엑세스만이 가능하지만 이것은 임의의 엑세스가 가능하다. 여기선 RandomAccessFile클래스랑 파일 스트림을 같이 쓰는데 RandomAccessFile의 장점을 가지고 네트워크에서도 별다른 수정없이 사용할수있다. 예제는 밑에 --;
          this.file=file; //파일을 저장해논다. 이러면 랜덤엑세스랑 FileInputStream 사용할수있다.
          *스트림 필터의 사용 예제 : System.in으로 입력받는것을 BufferedInputStream필터를 거쳐서 LineNumberInputStream을 거처 DataInputStream을 거처서 DataOutputStream에 쓰여지고 BufferedOutputStream으로 버퍼링돼 한번에 출력된다. --;
         === Chapter10 문자 스트림을 사용한 개선된 I/O 기법 ===
          *FileWriter : 텍스트 파일을 플랫폼의 기본 문자 인코딩 방식을 사용하여 출력하는 문자 스트림 인터페이스를 제공 파일에 쓰는것임 --;
  • SmallTalk/강좌FromHitel/강의2 . . . . 25 matches
          Smalltalk를 사용하여 프로그램을 짜기 위해서는 우선 여러분의 시스템에
          Dolphin Smalltalk를 사용할 것이므로, 자료실에서 Dolphin Smalltalk를 내
          재 필자가 사용하고 있고 또한 자료실에 올려진 환경은 1.1판입니다. 그러므
          로 여러분이 마음대로 전송 받아서 사용할 수 있을 것입니다.
          이름을 지원하는 압축 프로그램을 사용하여 압축을 푸십시오.
          니다. 대강의 내용은, 지금 사용하고 있는 Dolphin Smalltalk는 아직 등록
          입니다. 저장 기능을 사용하려면 Object Arts사에서 무료로 배부하는 등록
          지고 있습니다. 즉 흔히 사용하는 텍스트 문서 편집기와 비슷한 동작 방식을
          일단 마우스나 글쇠판으로 밀대(scroll bar)를 사용해서 아래와 같은 문장이
          위의 문장 끝에 커서를 갖다 놓고, 앞서 사용했던 <Ctrl-D> 글쇠를 사용해서
          음의 명령을 실행하면 결과를 알 수 있습니다. <Ctrl-D>를 사용하십시오.
          것이 지금 Smalltalk 환경에서 사용할 수 있는 갈래(class)입니다. 맨 마지
          3. 나타난 결과가 지나치게 복잡하면 <Ctrl-I>를 사용하여 "탐색기"
          등이 있습니다. 둘 중에서 여러분이 편리한 것을 골라서 사용하시기 바랍니
          일터 화면에 표시하고싶지 않을 때 사용합니다.
          에는 <Ctrl-D> 대신 <Ctrl-E>를 사용하여 실행시켜 보십시오. 한결 깔끔하게
          므로, <Ctrl-E>를 사용하여 실행시켜 봅시다. 필자는
          결과가 너무 많습니까? <Ctrl-D>를 사용하지 말고 <Ctrl-I>를 사용하여 탐색
          껏 발휘할 수 있는 기회를 드리겠습니다. 다음 명령을 <Ctrl-E>를 사용하여
          으로 사용되고 있나봅니다.
  • SmallTalk/강좌FromHitel/강의4 . . . . 25 matches
         알림판이 '일터'와 구별되는 가장 큰 특성은, Smalltalk 환경에서 사용자에
         새로운 일터를 만들기 위해서는 File > New 메뉴를 사용하거나, 도구 모음에
         다고 했습니다. 그럼 다음과 같이 명령해 보십시오. 글쇠를 사용
         과 같은 명령을 사용하여 일터에 명령의 수행 결과를 출력할 수도 있습니다.
         되는 창이므로, 그 사용 방법을 확실히 익혀두는 것이 좋을 것입니다.
         쇠 대신 글쇠를 사용할 때 나타나는 창입니다. 이 창은 기본적으로
         하도록 만들어진 도구입니다. 앞에서 우리가 탐색기를 사용한 예를 생각해
         쉽게 탐색하기 위해서는 객체 탐색기를 사용하는 것이 편리합니다.
         을 탐색할 때 사용하는 도구입니다. 모두 크게 내 부분으로 이루어진 갈래
         이러한 객체를 사용하거나 아니면 새로 만들어야 합니다. 이 일을 이 '갈래
         자주 사용되는 도구이기도 합니다.
         뽑아내어 내용을 살펴보고자 할 때 사용합니다.
         리하기 위해서 사용됩니다. 꾸러미 탐색기는 이러한 꾸러미를 새로 만들거나
         창맵씨(View Composer)는 사용자 접속 환경(User Interface)를 만드는 도구
         램을 사용하는 최종사용자가 자료를 입력할 수 있도록 해 줍니다.
         넓은 부분이 실제로 창을 설계할 때 사용하는 부분이고, 아래에 위치한 세
         창맵씨를 사용하기까지 참으로 긴 여정이 여러분을 기다리고 있을 것입니다.
         도 합니다. 창맵씨와 더불어 자원 탐색기도 사용자 접속 환경을 만드는데 매
         어왔는지의 자취를 표시하고, 사용자가 알맞은 조치를 취할 수 있도록 돕는
         있는 명령에 대한 정보를 깡그리 지워버리고 명령 실행을 중단할 때 사용
  • SmallTalk/강좌FromHitel/소개 . . . . 25 matches
         (application) 프로그램을 만드는데 사용할 수 있다는 것을 알려드리고자 합니
         사용하여 만들어질 것이라는 이야기가 무성했습니다. 과연 오늘날 많은 무른모들
         시하는 여러 가지 기술들이 개발 사용되고 있습니다. 80년대 초반에 등장하여 무
         더불어 사용자의 요구에 따라 무른모를 얼마나 쉽게 유지.관리할 수 있느냐가 중
         오늘날 많이 사용되고 있는 C++, Java, Object Pascal 등은 모두 프로그래밍 언
         되었습니다. 또한 Smalltalk 환경에서 사용되는 많은 개념들이 우리가 현재 사용
         그럼에도 불구하고 Smalltalk는 범용 프로그래밍 언어로써 사용되기에는 몇 가지
         니다. 이는 비단 Dolphin Smalltalk만이 아니라, 널리 사용되고 있는 VisualAge
         않게 사용되고 있는 점으로 이루어진 그림(bitmap graphic)과 그래픽 사용자 환
         (PC)에서 구현될 수는 있었겠지만, 80년대에 널리 사용되넌 PC에서 돌아가는
         흔히 우리들이 사용하고 있는 펜티엄급 컴퓨터에서는 더욱 더 최적의 성능을 발
         프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
         위의 간단한 벤치마크 실험에서, Object Pascal을 사용하는 Delphi의 경우는 실
         PowerBuilder를 사용하여 위의 예제를 만들어 보시기를 권합니다. 또한 현재
         언어를 설계한 Xerox사의 연구원들은 아이들이 쉽게 배워서 사용할 수 있고, 쉽
         우선, Smalltalk 언어는 주로 사용되는 언어들에 비해서 매우 다르다는 것입니
         이 되어버리는 것입니다. Smalltalk를 사용해서 저 유명한 "Hello, world!"를 출
         회사마다 독자적인 갈래 다발을 만들어 사용하고 있으며, 따라서 이는 흔히 말하
         계 발전된 기술을 사용함으로써, 실행 파일이 차지하는 기억 공간의 점유율을 매
         터 사용자 인터페이스를 생성하는 방법이 마련되어 있었으며, 예전에는
  • SmallTalk_Introduce . . . . 25 matches
         (application) 프로그램을 만드는데 사용할 수 있다는 것을 알려드리고자 합니
         사용하여 만들어질 것이라는 이야기가 무성했습니다. 과연 오늘날 많은 무른모들
         시하는 여러 가지 기술들이 개발 사용되고 있습니다. 80년대 초반에 등장하여 무
         더불어 사용자의 요구에 따라 무른모를 얼마나 쉽게 유지.관리할 수 있느냐가 중
         오늘날 많이 사용되고 있는 C++, Java, Object Pascal 등은 모두 프로그래밍 언
         되었습니다. 또한 Smalltalk 환경에서 사용되는 많은 개념들이 우리가 현재 사용
         그럼에도 불구하고 Smalltalk는 범용 프로그래밍 언어로써 사용되기에는 몇 가지
         니다. 이는 비단 Dolphin Smalltalk만이 아니라, 널리 사용되고 있는 VisualAge
         않게 사용되고 있는 점으로 이루어진 그림(bitmap graphic)과 그래픽 사용자 환
         (PC)에서 구현될 수는 있었겠지만, 80년대에 널리 사용되넌 PC에서 돌아가는
         흔히 우리들이 사용하고 있는 펜티엄급 컴퓨터에서는 더욱 더 최적의 성능을 발
         프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
         위의 간단한 벤치마크 실험에서, Object Pascal을 사용하는 Delphi의 경우는 실
         PowerBuilder를 사용하여 위의 예제를 만들어 보시기를 권합니다. 또한 현재
         언어를 설계한 Xerox사의 연구원들은 아이들이 쉽게 배워서 사용할 수 있고, 쉽
         우선, Smalltalk 언어는 주로 사용되는 언어들에 비해서 매우 다르다는 것입니
         이 되어버리는 것입니다. Smalltalk를 사용해서 저 유명한 "Hello, world!"를 출
         회사마다 독자적인 갈래 다발을 만들어 사용하고 있으며, 따라서 이는 흔히 말하
         계 발전된 기술을 사용함으로써, 실행 파일이 차지하는 기억 공간의 점유율을 매
         터 사용자 인터페이스를 생성하는 방법이 마련되어 있었으며, 예전에는
  • 새싹교실/2012/AClass . . . . 25 matches
          1. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
          1. 배열을 사용한 간단한 프로그램을 하나 만들어보세요.
          --> 라이브러리에서 우리가 사용하는 함수를 불러오기 위해써주는 것
         -중복 for문 사용.
          * 재귀함수 : 자기 자신함수를 다시 불러서 사용하는 함수
          배열 : 변수를 여러개 사용하지 않기 위해 사용
          4. 구조체를 사용하여 student 구조체를 하나 만들고, student 구조체 배열을 만들어 0~3번째 배열에 AClass반 학생들의 정보를 적당히 넣고, 그것을 출력해보자.
          * 구조체 내부에 char 배열을 사용해서 이름을 넣어도 좋고, 학번을 int형으로 넣어도 좋다.
          * 동적할당 구체적으로 어떻게 사용하는지 물어보려구 했눈데 과제에 있네요! :) 저거 풀어보고 모르면 질문 할게요.
          동적할당에 대해서도 배웠습니다.sizeof라는 함수를 사용하여 할당 할 크기를 정해주고 malloc을 사용하여 방을 만들어 줍니다.
          * 포인터를 사용하여 swap함수 만드는 것을 배웠다.
          * 동적할당과 포인터를 사용하여 링크드 리스트 만드는 법을 배웠다.
          pointer, swap, malloc, struct 문법을 다시 배웠고 c++의 기초를 배웠다. iostream헤더의 사용법도 배우고
          using namespace std도 배웠다. using namespace std는 cin, cout을 사용할 때 앞에 붙는 'std::'를 생략하기 위해 써준다.
          -#include <iostream> 과 using namespace std; 의 사용
          * cmd창, main parameter사용법, static, const
          public은 아무나 접근하여 사용 할 수 있다.
          왜 private를 사용하는지
          클래스를 사용한 코딩
          클래스를 사용한 최초의 코딩 차암 뿌듯하네
  • 새싹교실/2012/startLine . . . . 25 matches
          * wiki 사용법.
          * 서민관 - 간단하게 재현이가 C문법 알고있는 부분 알아보기, 함수 만들어보기, 전체적인 계획 설명, gcc 사용법. 일단 제어문과 간단한 함수 문법까지도 알고 있는 것 같다. 어제 일도 있어서 긴장을 많이 했는데 그래도 생각보다 어렵지는 않았다. 앞으로는 좀 더 예제등을 준비해야겠다.
          * 제어문(조건문, 반복문)의 문법과 몇몇 주의해야 될 부분들(switch문의 break 사용, 반복문에서의 종료 조건 등).
          * 중첩된 반복문으로 별 찍기 - 상당히 특이하게 반복문을 사용했다. 생각이 좀 좋은듯 -_-
          * 서민관 - 제어문의 사용에 대한 수업(if문법, switch.. for...) 몇몇 제어문에서 주의해야 할 점들(switch에서의 break, 반복문의 종료조건등..) 그리고 중간중간에 쉬면서 환희가 약간 관심을 보인 부분들에 대해서 설명(윈도우 프로그래밍, python, 다른 c함수들) 저번에 생각보다 진행이 매끄럽지 않아서 이번에도 진행에 대한 걱정을 했는데 1:1이라 그런지 비교적 진행이 편했다. 그리고 환희가 생각보다 다양한 부분에 관심을 가지고 질문을 하는 것 같아서 보기 좋았다. 새내기들이 C를 배우기가 꽤 힘들지 않을까 했는데 의외로 if문이나 for문에서 문법의 이해가 빠른 것 같아서 좀 놀랐다. printf, scanf나 기타 헷갈리기 쉬운 c의 기본문법을 잘 알고 있어서 간단한 실습을 하기에 편했다.
          * 배열의 사용법.
          * 함수의 사용.
          * 간단한 이전 시간(if문, 반복문)의 복습과 배열의 사용에 대해 알아보았다. 그리고 이번 시간에 주로 한 내용은 함수가 왜 필요한지와 함수를 만드는 법, 함수를 사용하는 법 등이었다. 개인적으로는 함수를 꽤 중요하게 생각하는 만큼 함수의 필요성을 잘 캐치해 줬으면 좋겠다. 그리고 새삼 드는 생각이지만 환희의 질문이 중요한 부분을 잘 찌른다는 생각이 든다. 별다른 언급도 없었는데 함수 내에서 변수의 scope나 함수 내부의 이름 겹침 등에 대한 질문이 있었다. 그리고 중간에 함수 사용의 예제로 printf문을 약간 이상하게 쓴 코드를 보여줬는데 의외로 감을 잘 잡은 것 같았다. 현재 진행상황으로는 다음에 포인터를 다뤄야 할텐데 함수를 쓰는 것을 조금 더 연습을 시킬지 바로 포인터를 나갈지 고민이다. 당장 포인터를 했다가 어려워하지 않을까 모르겠다. - [서민관]
          * 저번시간에 했던 swap 함수에 대해서 간단하게 복습을 하고 swap 함수의 문제점에 대해서 짚어보았다. 그리고 포인터의 개념과 함수에서 포인터를 사용하는 방법 순으로 진행을 해 나갔다. 새삼 느끼는 거지만 call-by-value의 문제점을 처리하기 위해서 포인터를 들고 나오는 것이 가장 직접적으로 포인터의 필요성을 느끼게 되는 것 같다. 그리고 개념의 설명을 하기에도 편한 것 같고. 그 후에는 포인터에 대한 부분이 일단락되고 성훈이나 재현이처럼 malloc이나 추가적인 부분을 진행할 예정이었는데 환희가 함수의 사용에 대해서 질문을 좀 해 오고 그 외에도 약간 다른 부분을 다루다 보니 진도가 약간 늦어졌다. 그래도 포인터에서는 이해가 가장 중요하다고 생각하는 만큼 조금 천천히 나가는 것도 괜찮다고 본다. 그리고 앞으로의 목표는 일단 처음에 잡아둔 목표까지 무사히 완주하는 것이다. 원래 첫 진도 예정에 다양한 것들이 담겨있는 만큼 목표만 이루어도 충분히 괜찮은 C 실력이 길러지지 않을까 싶다. - [서민관]
         포인터변수가 가지는 값과 *, &연산자의 사용법을 잘(은 익혔는데 아직도 긴가민가하고..) 배웠구요..
         // 함수 사용
          * 포인터 변수에 값을 주어 초기화 하려면 어떻게 해야 하는가(malloc 함수의 사용)와 메모리 해제(free 함수)에 대한 이야기를 했다. 그리고 배열과 포인터에 대한 이야기를 했는데, 배열도 결국 연속된 메모리를 잡는다는 점에서 포인터와 같고 값의 참조도 포인터 변수와 똑같이 할 수 있다는 것을 다뤘다. 그 후에는 포인터 변수(배열)를 인자로 받는 함수를 만드는 법을 배우고, 배열을 인자로 받을 때는 반드시 길이를 관리해줘야 한다는 이야기를 했다. - [서민관]
          * 정모 전에 두 시간, 정모 끝나고 두 시간이 걸린 정말 긴 새싹이었습니다. ;;;; 처음 계획으로는 재현이나 성훈이랑 비슷하게 구조체 문법과 사용에 대해서 간단하게 다룰 생각이었는데 환희가 왜 구조체가 필요한지에 대한 이야기를 하면서 이야기가 많이 다른 방향으로 흘러갔네요. 일단 구조체가 필요한 이유를 추상화의 관점에서 추상화 한 타입(구조체)과 타입에 관한 연산(함수)을 제공하기 위해서라고 말을 했는데 그래도 직접 피부에 와 닿았을지 어떨지는 좀 걱정입니다. 역시 이런 부분은 직접적으로 경험을 해 보지 않으면 안 될 것 같네요. 한 시스템(도서관 관리 프로그램이나 은행 시스템 등)을 재현이, 성훈이랑 셋이서 쪼개서 만들어 보게 하거나 하는 게 좀 괜찮지 않을까 싶습니다. 나중에 시켜봐야지. - [서민관]
          People p;와 strcat의 사용에 문제가 있습니다. p를 초기화(People p = {0};) 하지 않고 사용하면
          p.name이 쓰레기 값으로 채워지는 것 같습니다. 그래서 strcat을 사용하면 p.name의 뒷부분(p.name[99]의 뒷부분)에 "홍길동" 내용이 붙습니다.
          이런 상황을 피하기 위해서는 처음에 p를 초기화 하고 사용하거나 memset(p.name, 0, sizeof(char)*100);을 하는 방법이 있습니다.
          int maxLength; // 배열을 사용할 때는 길이를 관리하는 구조체를 만들어서 쓰면 편하다.
         //////////////////////////////////////// 사용자 정의 타입, 사용자 정의 타입 + 포인터
          * extendArray 등의 함수 사용의 불편함.
          * 더미 노드의 사용 이유, 예시.
  • 후각발달특별세미나 . . . . 25 matches
         세미나 후 제 귀에 들어온 질문 중에 '함수를 많이 만들면 메모리를 더 사용하지 않는가?'라는 질문이 있었습니다. 누가 자세히 설명 좀 부탁드립니다. --재동
          전문적인 설명은 아니구, 제 생각에는 함수를 사용하여 메모리 사용하는 비용과 프로그래머가 함수를 더 사용하여 소스의 가독성을 올리고, 유지 보수 및 버그를 없애는 비용과 비교를 해볼때 후자가 훨씬더 큰 비중을 차지하기 때문에 함수를 더 사용하여 메모리를 더 사용하더라도 리펙토링의 중요성이 결코 줄어들지 않는다고 생각합니다. 그리고 짧은 소스에서는 리펙토링 하여 함수가 많아 지는것이 낭비처럼 보일지 몰라도 좀더 프로그램이 커질수록 리팩토링을 해놓음으로 해서 추후에 최적화를 하는데에도 훨씬 유리하기 때문에 결국에 가서는 자원도 더 효율적으로 사용하리라고 봅니다. - [상협]
          사실 이 질문은 제가 받았던 질문인데, 질문 받았던 당시에 별 생각없이 '''메모리를 많이 사용한다는 단점이 있더라도 잃는 것(단점)보다 얻는 것(장점)이 더 많기 때문에 상관없다'''고 얼버무렸습니다. 그렇게 틀린 대답은 아니였지만 많이 부족한 대답이었습니다. 그래서 재동형하고 이야기도 해보고 저도 나름대로 생각해서 답을 내어보았습니다.
          메모리를 많이 사용한다는 우려의 원인은 많은 변수들에 있습니다. 전달인자를 받거나 값을 리턴할 때, 각각 상응되는 변수가 필요하기 때문이죠. 하지만 변수는 그 변수가 선언된 함수내에서만 효력을 발휘하고 함수가 종료되는 순간 사라집니다(메모리해제). 그러므로 모듈화된(쉽게 이야기해서 함수로 나뉜)프로그램에서는 함수내의 많은 변수들이 메모리를 많이 차지하더라도 그 함수가 끝나면 그 메모리는 해제되어 사용가능해집니다. 그리고 전역변수나 메인함수내의 변수만을 사용하는 프로그램은 프로그램이 끝날 때까지(메인함수가 종료될 때까지) 메모리를 잡아두므로 한번 할당된 메모리는 사용불가능합니다.
          모듈화된 프로그램에서의 메모리 사용의 개념은 '''필요할 때마다 할당해서 쓰고 필요없으면 해제하자'''이고 전역변수나 메인함수내의 변수만을 사용하는 프로그램에서의 메모리 사용의 개념은 '''지금은 안쓰이더라도 나중에 쓸 메모리를 미리 할당하고 사용이 끝났더라도 메모리를 계속 잡아두자'''입니다. 전자의 경우에는 어느 순간 메모리를 많이 사용하는 경우도 있고 어느 순간에는 엄청 적게 사용하는 경우가 있습니다. 메모리 사용이 더 유동적이라고 할 수 있습니다. 밑에 참고 그래프(자체제작)를 참고해주시기 바랍니다. --[강희경]
          - 아래 상규의 말대로 큰 차이는 없을 것 같습니다. 모듈에서의 변수 선언, 사용에 있어서 메모리 사용량은 기껏해야 몇 바이트 정도가 아닐까요? 아래 코드처럼 극단적인 예가 아닌 이상 큰 변화가 없는 경우가 대부분이라고 생각합니다(물론, 동적할당은 여기서 논외입니다). 그런데, 아래의 코드는 몇가지 냄새가 나는 코드로군요. 큭. :(
         // foo(), bar() 가 호출될 때마다 memory사용량이 4K 씩 늘어난다.
          (참고로 제가 말하고자 하는 것은 코드에 의한 메모리 사용량 입니다.)
          함수의 갯수와 메모리 사용량은 직접적으로 관련이 없습니다. 메모리 사용량과 직접적으로 관련이 있는 것은 함수의 갯수가 아니라 프로그램의 길이 입니다.
  • 새싹교실/2012/AClass/1회차 . . . . 24 matches
         -상수형 :상수는 변환 할 수 없는 고유의 수, 프로그램을 개발할 때 변경되어 발생 할 수 있는 버그등의 위험을 줄이기 위해 사용(#define,const)
         5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
         - 확장성이 큰 것으로 , 긴 프로그램을 설계할 때 #define으로 정의된 것을 사용할수 있어서 편리하다.
         -동일한 데이터형을 가진 자료구조로, 변수이름을 각각 다른 이름으로 사용해야 하는 번거러움을 줄이기 위해 사용한다.
         6.배열을 사용한 간단한 프로그램을 하나 만들어보세요.
          문자형, 넓은 범위에서 보면 일종의 정수형으로 사용될수 있다.
          표준 입출력 라이브러리 함수를 사용하기 위해서 쓴다.
         5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
          #define : 특정 대상을 정의함으로써 전처리기가 이를 특별하게 다루도록 하고싶을때 사용한다.
         표준 라이브러리 함수를 사용하기 위해서 해당 함수의 선언을 포함하는 헤더파일을 포함해야한다.
         5. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
         매크로 상수를 정의할 때 사용.
         사용자가 원하는 크기 만큼 변수를 선언할 수 있도록 해주는 변수 구조화 방법.
         다수의 데이터를 저장하고 처리할 때 유용하게 사용되기 때문에
         6. 배열을 사용한 간단한 프로그램을 하나 만들어보세요.
         - 상수는 프로그램이 실행되는 동안 값이 변하지 않는 데이터이고, 변수는 데이터를 저장하는 데 사용되는 기억 장소의 이름이다.
         - ASCII문자코드는 영문자, 숫자, 특수문자 등을 포함한 128개의 문자를 7비트를 사용하여 표현한다. 8진수로 표현된 가로와 16진수로 표현된 세로를 모으면 해당 문자의 코드가 된다. ‘A’는 10진수 65에 대응되고 ‘a’는 97에 대응된다.
         5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
         - 프로그램에서 여러 번 사용되는 상수 값을 매크로 상수로 정의해서 사용하는 것
         - 두 번째 별찍기 for문 4개만 사용해서 하는 것은 못했습니다.
  • MoniWikiACL . . . . 23 matches
          * @ALL: 모든 사용자 (priority: 1)
          * @User: 등록 사용자 (priority: 2)
         == 사용자 정의 그룹 @group 그리고 @group의 priority ==
         ##@그룹이름 사용자리스트 [priority]
         /!\ 여기서 Anonymous 사용자는 @Guest로 지정되어 있으며, @Guest는 미리 정의된 그룹이 아닙니다.
         * @Block deny * // 모든 페이지(*)를 @Block 사용자그룹에 대해 모든 액션(*)을 거부(deny)
         /!\ IP, CDIR, 부분IP 등등은 그룹 지정에서만 사용 가능합니다.
         # 페이지이름 @그룹/특정사용자 allow/deny 액션리스트
         @Guest Anonymous // @Guest 사용자 그룹 정의
         * @ALL deny * // 모든 페이지(*)를 모든 사용자(@ALL)에서 모든 액션(*)을 거부(deny)
         * @ALL allow ticket // 모든 페이지를 모든 사용자에게 ticket 액션을 허락(allow)
         // 모든 페이지(*)를 일반 가입 사용자에게(@User) 허락(*)
         // 사용자 Foobar는 WikiSandbox 편집 못하게 함
         @Guest Anonymous // @Guest 사용자 그룹 정의
         // 모든 페이지(*)를 모든 사용자(@ALL)에서 모든 액션(*)을 거부(deny)
         // 모든 페이지(*)를 모든 사용자(@ALL)에게 ticket 액션을 허락(allow) ticket은 가입 폼에 나오는 로봇가입방지 captcha
         // 모든 페이지(*)를 일반 가입 사용자에게(@User) 허락(*)
         // 모든 페이지(*)에 대해 모든 사용자의(@ALL) detetefile,deltetepage 등등의 protect 가능한 액션을 protect
         // MoniWiki 페이지를 @ALL 모든 사용자에게 edit,upload,diff등의 일부 액션을 거부
          * 모든 사용자(@ALL)에게 allow를 제외한 모든 액션 거부.
  • ZPBoard/AuthenticationBySession . . . . 23 matches
         회원 인증이란 회원에게 부여된 고유의 아이디와 패스워드를 통해 회원임을 확인하고, 확인된 회원에 한에서 웹 사이트의 회원 전용 기능을 사용할 수 있도록 하는 것.
         '''HTTP 프로토콜'''은 stateless 프로토콜입니다. connectionless 프로토콜이라고도 합니다. 예를 들어, 웹브라우저를 통해 제로페이지에 접속한다고 봅시다. 클라이언트 입장에서는 자기 자신이 연속된 요청(게시물 보기나, 위키 사용등)을 보내는것을 알지만, 서버 입장에서는 매번 온 요청이 누구로부터 온 것인지를 알 방법이 없습니다. '''왜냐하면''' HTTP 프로토콜의 태생이 연결지향적이 아니고, 상태를 알 수 없기 때문입니다.
         클라이언트와 서버간에 지속적인 유대관계를 맺고 싶을때 사용하는 방법으로 Cookie와 Session이 등장하게 되었습니다. Cookie에 대한 이야기는 논외로 하고, Session을 살펴보면, 이는 흔히 ''세션아이디'' 또는 ''세션키''라 부르는(이하 세션아이디로 통일) 값을 쿠키에 설정해놓고, 클라이언트의 요청시 쿠키에서 세션아이디를 가져와서 내부적인 검토과정을 거치고, 이에따라 유효한 요청 또는 무효한 요청을 외치게(인증하게)됩니다.
         서버에서는 이 세션아이디를 바탕으로 인증 작업을 하기만 하면 되니, 정보를 얻는 방법으로 데이터베이스를 사용하건 파일시스템을 사용하건 그 이용에 제한을 가하지 않습니다.
         사용자가 '''로그인'''을 한 후에, '''세션아이디'''를 생성해서 '''세션값'''을 설정합니다. 이를 통해 클라이언트(ie. 웹브라우져)가 요청을 할때 '''세션아이디'''를 얻어오고, 서버측에서는 인증을 하게 됩니다.
         예를들어, 3분 46초동안 아무런 사용자의 요청이 없을때 자동으로 로그아웃처리되는 서비스를 가정하고 다음의 시나리오를 봅시다.
          i. 처음 사용자가 로그인을 합니다. 이때 세션 아이디를 생성해서 저장하겠죠? 데이터베이스를 이용한다고 가정하고, 생성한 세션아이디를 키 값으로 해서 부가적인 정보를 기록합니다. 여기서는 현재 요청이 온 시각을 기록하면 되겠군요.
          i. 사용자가 '김돈규의 3분 45초간의 고백'을 듣고 재빨리 다시 서버로 요청을 보냅니다.
          i. 이번엔 사용자가 화장실을 갑니다. 변비였습니다. 5분후에 돌아와서 서버로 요청을 보내지만, 이미 때는 늦었습니다. 서버가 해당 요청에 대해 '''무효'''를 선언하고, 로그인 화면을 보여줍니다.
         이 예는 세션이 사용되는 기능에 초점을 맞춰 가장 단순한 경우를 이야기 한 것입니다. 실제로는 고려해야 할 부분이 더 있겠죠?
         A. maybe or maybe not. 일반적인 경우, 세션에서 사용되는 쿠키는 브라우져를 닫으면서 보통 삭제되게 되어있으므로 그렇다고 볼 수도 있지만, 엄밀히 이야기해서, 로그아웃처리가 되는것은 아닙니다. 해당 세션키를 통해 다시 요청한다면, 서비스를 받을 수 있습니다. 이 모든 일은 HTTP 프로토콜 특성상 브라우져를 닫는 등의 행위가 오프라인에서 이루어지는것이기 때문입니다. (배틀넷을 하다가 랜선을 뽑으면 디스커넥이 되지만, 웹서핑도중 랜선을 뽑는건 어떠한 영양도 미치지 않는것과 같습니다.)
         session_start(); // Session 을 사용하기 위해서는 반드시 맨 처음에 이 함수를 호출해주어야 한다.
         login.php - 회원 인증 폼에서 ACTION 속성으로 사용
         logout.php - 로그 아웃 폼에서 ACTION 속성으로 사용
          * Cookie와 Session의 차이를 이해했나요? 왜 Cookie를 놔두고 Session을 사용하려고 하는것이지요?
          ''쿠키값을 조작할 수 있습니까? 세션을 어떤식으로 생성하고 사용할 수 있는지에대해 살펴보기바랍니다''
          * 질문들이 조금 이해가 안돼서요... 그럼 세션과 쿠키를 같이 사용하면 생각하시는 문제가 해결이 될까요? 쿠키의 만료 기간을 주지 않으면 브라우져를 닫으면 없어지는걸로 알고 있는데요 처음에 쿠키를 확인해 없다면 세션이 남아있더라도 지워버리는 방법을 사용하면 문제가 해결 될까요? --["상규"]
          * '''처음에 쿠키를 확인해 없다면 세션이 남아있더라도 지워버리는 방법을 사용하면 문제가 해결 될까요?'''
          잘못 이해하고 있습니다. 세션역시 보통은 쿠키를 사용합니다. 쿠키에 기록된 세션값을 가져와서 서버측에서 인증을 하니까요.
         김군과 조군이 병영생활을 하고 있습니다. 이제 작전을 수행해야 하는데, 김군은 수색을 맡고 조군은 본진을 지키고 있습니다. 김군이 조군과 통신을 하기 위해서는 무전기를 사용하는데, 암호명 '로얄샬루트'를 사용하기로 합니다. 어느덧 수색을 마친 김군은 조군과의 통신을 준비합니다.
  • 새싹교실/2012/AClass/4회차 . . . . 22 matches
         - c언어에서는 char,int,float 와 같은 많은 수의 기본 데이터 형과 배열, 포인터, 구조체 등의 유도된 데이터형으로부터 새로운 데이터형을 만들 수 있는데, 사용자 측면에서 새로운 데이터 형을 정의 할 수 있도록 typedef선언을 제공한다. typedef은 #define과 달리 이미 존재하는 c언어의 데이터 형만을 취하여 정의하고 typedef은 프리프로세서에 의해 처리되는 것이 아니라 c컴파일러에 의해 처리된다. 또한 #define보다 다양한 형태의 치환이 가능하다.
         4.구조체를 사용하여 student 구조체를 하나 만들고, student 구조체 배열을 만들어 0~3번째 배열에 AClass반 학생들의 정보를 적당히 넣고, 그것을 출력해보자.
          구조체 내부에 char 배열을 사용해서 이름을 넣어도 좋고, 학번을 int형으로 넣어도 좋다.
         구조체를 사용하여 student 구조체를 하나 만들고, student 구조체 배열을 만들어 0~3번째 배열에 AClass반 학생들의 정보를 적당히 넣고, 그것을 출력해보자.
         구조체 내부에 char 배열을 사용해서 이름을 넣어도 좋고, 학번을 int형으로 넣어도 좋다.
         큐를 위한 버퍼와, 시작과 끝을 나타내는 두개의 값을 사용하게 된다.
         typedef 명령문은 기존에 있는 자료형을 사용자가 원하는 이름으로 사용할 수 있게끔 선언하는 명령문
         <typedef 의 사용법>
         <typedef 의 사용 예>
         4. 구조체를 사용하여 student 구조체를 하나 만들고, student 구조체 배열을 만들어 0~3번째 배열에 AClass반 학생들의 정보를 적당히 넣고, 그것을 출력해보자.
         구조체 내부에 char 배열을 사용해서 이름을 넣어도 좋고, 학번을 int형으로 넣어도 좋다.
         1)기존 자료형의 이름을 프로그램 내부에서 다른 이름으로 사용할 수 있게 하는 것
         2)헤더파일에서 typedef사용하기
         Typedef는 공통적으로 사용하는 헤더파일에 선언을 해주어야 모든 소스파일에서 사용할수 있다
         //typedef를 사용하면 새로운 자료형을 기존의 자료형처럼 사용할 수 있다.
         typedef을 정의하면 int나 char 등의 자료형을 자신이 원하는 명칭으로 바꾸어서 사용이 가능하다.
         그리고 보통 자료형 int 처럼 사용하면 된다. NUM을 이용한 변수 값과, int를 이용한 변수의 값을 서로 연산을 해보면 정확하게 값이 나온다.
         4. 구조체를 사용하여 student 구조체를 하나 만들고, student 구조체 배열을 만들어 0~3번째 배열에 AClass반 학생들의 정보를 적당히 넣고, 그것을 출력해보자.
         o 구조체 내부에 char 배열을 사용해서 이름을 넣어도 좋고, 학번을 int형으로 넣어도 좋다.
  • DataCommunicationSummaryProject/Chapter9 . . . . 21 matches
          * cellular networks가 cell을 반경으로 하는데 비하여, Short-Range Wireless Networks는 아주 짧은 반경,Ultra Wide Banded 을 사용,고속이다.pbx처럼 pirvate networks이다.
          * cellular networks가 예상보다 빠르게 성장한데 비하여,short-range mobile systems은 덜 성공적이였다.그 이유에는 속도,유선에 비하여 신뢰성의 떨어짐, 경쟁적인 기준이 있다.물론 Cordless phones 처럼 인기있는것도 있지만, 점점 범위를 늘리려고 한다. 또한roaming에서의 실패성이 많다.적외선이 laptop 이나 PDA에서 거의 사용되지만 잘 사용되지 않는다.
          * 2000년대 부터 wireless LANs가 데이터 속도와 가격만에서많은 성장을 가져왔다.IEEE의802.11b의 지준을 많이 사용한다.물론 아직은 핸드폰이나 인터넷에 비할수는 없지만,성장 속도는 빠르다. 새로운 시스템은 유선에 도전을 줄 만큼 데이터전송량과 속도를 증가 시켰다.
          * 적외선 사용이 실패였지만 아직도 많은 연구와 회사의 사용이 있다.4세대 모바일 시스템으로 주목 받고 있다.roaming하는데 별 어려움 없이 랜과 3새대 휴대폰과 Bluetooth와의 연결도 가능할 것이다.
          * 앞에서 예기했지만 짧은 반경이면 고주파이고(고주파는 아직 국가에서 할당이 잘 안돼었다) ,개인이 베이스스테이션을 달므로 허가 받은 주파수가 아니다. 즉 누구나 사요할수 있는것이다. 그럼 사용되는 주파수대를 알아볼까? 물론 고주파다.
          * ISM(Industrail,Scientific, and Medical) 는 의사소통을 위한것이 아니다. 따라서 이 범위의 주파수는 국가에서 나두었다. 그래서 무선 전화나 무선 랜에서 사용된다.
          * ISM 2.4 는 여러 국가에서 모두 사용가능한 주파수 범위이다.따라서 너무나 많은 곳에서 사용하므로 완전 사장보다 더 복잡하다. 그러니 스프레드 스펙트럼을 사용한다. 하지만 11Mbps이상은 능력이 딸린다.
          * Light의 예로 적외선이있다.(비허가) 빛이므로 조준을 잘해야겠다. 좋은점은 높은 주파수대라는것(아직 높은 주파수대는 국가에서 안팔았으니 자유로이 많이 사용할수있따) 보안에 좋다. 벽을 통과 못하니 누가 몰래 들을 가능성은 적겠지.
          * 어느곳에나 사용가능, 이동성의 편이성,속도의 빠름, 표준기준 확정, 등이 새로운 이점들. 하지만 아직도 보안은 문제점
          * CCK(Complementary Code Keying)라고 불리는DSSS의 2.4GHZ를 사용한다. 물론 기존의 기계와 호환성을 기진다. MAC하는 방법은 CSMA/CA(여기서 A는 avoidance이다 유선과는 틀리다) half-duples이다.shared이다. 대역폭이 11Mbps이지만 오보헤드가 심하다. 여기에다가 쉐어드이니 장에가 심하면 1-2Mbps밖에 안된다.하지만 데이터 전송률은 쓸만하다. 이러한 낭비를 줄이려고 차세대로 갈수록 물리적인 데이터 율을 줄인다.
          * 유럽의 1992년에 새운 기준이다. 지들이 만든 GSM을 기준으로 한다.5-GHz의 대여폭을 사용한다.
          * 같은 전화기를 사설, 공용 네트워크 모두에서 사용한다.
          * Frequency Hopping을 사용한다.
          * 짧은 거리 무선 시스템은 허가되지 않은 주파수 영역을 사용한다. 이것들은 대화를 위해 공개될수 있고, ISM 어플리케이션과 공유될수 있다.
          * 높은 수용능력은 높은 주파수를 사용해야 할 필요가 있다. HiperLAN2와 IEEE 802.11a 모두 5Ghz의 밴드를 사용하며, 54Mbps의 속도를 낼수 있다.
          * 4G 모바일 시스템은 무선 랜을 확장한다. 왜냐하면 거리가 매우 짧고, 많은 장치들이 3G, 무선랜, Bluetooth와 콤비로 사용되기 때문이다.
  • Emacs . . . . 21 matches
         vim에서는 기본 모드가 항상 편집 모드이고 쓸수있는 mode가 고정되어 있는 반면에, emacs에서는 주 모드와 부 모드를 입맛에 맞게 바꾸어 쓸수 있습니다. 예를 들어 사용자는 text-mode라는 텍스트 문서를 편집하고 작성하는 기능을 가진 주 모드를 쓰면서, 글자의 색을 바꿔주거나 들여쓰기 내어쓰기등을 사용자 정의대로 기능을 수행하는 부 모드를 쓸 수 있습니다.
          * 평소에 너무 IDE에 의존한다는 생각이 들어서 범용적인 TextEditor를 사용해보자는 결심을 하고 쓰는데 어려웠던 사항을 기록하려고 합니다.
         받아서 압축을 풀고 바로 사용할 수 있습니다. 하위 폴더중에 bin 폴더가 있는데 그 안에 있는 실행파일이 있습니다.
          * 최소 mac 가능한 ubuntu 에서 사용하는게 정신건강에 좋습니다. ecb, cedet 등을 커맨드 한번에 설치 하느냐, 여러번 거쳐서 설치하느냐는 하늘과 땅 차이입니다. ~~윈도우는 개발자의 OS 가 아닙니다~~
          * emacs 환경 그대로 remote/ssh/docker/sudo 등을 바로 사용할 수 있게 해줍니다.
          * emacs 는 dired mode 는 파일을 관리하고 browse 할 수 있는데, tramp 를 활용하여 remote 를 local 처럼 사용할 수 있습니다.
          * tramp 로 sudo 사용하기 : M-x-f {{{/sudo::/etc/}}}
          * tramp 로 ssh 사용하기 : M-x-f {{{/ssh:you@remotehost|sudo:remotehost:/path/to/file}}}
         == Python 사용하기 ==
         Emacs는 HOME 이라는 환경변수를 이용해서 사용자 설정 파일인 .emacs(이름 앞에 점 하나 있습니다.)파일을 읽어들입니다. 이 환경변수에는 경로가 들어가는데 그 경로에 사용자 설정 파일이 있어야 합니다. 제어판->시스템->고급->환경변수 안에 HOME이라는 환경변수를 추가하고, 그 경로 밑에 .emacs를 설치해야 합니다. .emacs 파일 내용은 다음과 같이 만듭니다.
          * 일반적으로 사용자의 HOME 디렉토리 밑에 저장됩니다.
          * GNU Emacs 사용시 Windows 7 환경에서 c:\Users\[UserName]\AppData\Roaming 디렉토리에 저장됩니다.
          * 주로 Emacs Wiki에서 받은 파일들이나 다양한 .el 파일들을 넣는 데 사용합니다.
          * Emacs의 확장 기능은 .el(Emacs Lisp 확장자) 파일을 읽어오는 방법으로 이루어진다. 따라서 .el 파일만 있으면 확장 기능을 사용할 수 있는데, ELPA 이전까지는 통일된 .el 파일의 배포 방법이 없었기 때문에 기능을 추가하려면 직접 파일을 (EmacsWiki나 github이나 다양한 방식으로) 다운받아야 하는 불편함을 감수해야 했다. ELPA는 이러한 흩어진 파일(= 확장 기능)들을 통합해서 받을 수 있는 기능을 제공하고 있다.
          * 사용
         emacs 설정파일인 .emacs 혹은 init.el에 다음과같이 이어붙이면 사용할 수 있다.
         emacs 설정파일인 .emacs 혹은 init.el에 다음과같이 이어붙이면 사용할 수 있다.
         emacs 설정파일인 .emacs 혹은 init.el에 다음과같이 이어붙이면 사용할 수 있다.
         [http://emacs.kldp.org/wiki/doku.php?id=#emacs-kr Emacs 한국 사용자 위키]
  • STLPort . . . . 21 matches
         본 문서는 Win32 환경에서 Visual C++ 를 사용하시는 분들이 STLport의 STL 라이브러리를 설치하여 사용하는데 도움을 주기 위하여 작성되었습니다. 가장 최소한의 설치 과정만을 싣는데 초점을 두었으며, Visual C++ 6 이하의 버전에서는 테스트하지 않았음을 미리 알려 드립니다. 기타 세세한 정보는 외부 자료 문서화 페이지 혹은 게시판에서 얻고, 나누어 주시기 바랍니다. 감사합니다.
         잘 아시겠지만, 본 문서는 읽으시는 분께서 Visual C++ 개발 환경과 C++ 사용에 불편해하지 않고 DOS 화면을 두려워하지 않는다는 가정 하에 작성했고, 윈도우 환경을 최대한 사용하는 쪽으로 작성하였습니다. :)
          저는 예전 버전인 4.5.3을 그대로 사용하기로 했습니다. (빌드 및 사용방법에 차이가 없습니다)
          * '''lib''' : 컴파일된 STLport 재사용 바이너리(lib, dll)가 들어가는 디렉토리. (처음엔 없다가 나중에 생길겁니다.)
          * '''src''': 재사용 바이너리를 빌드하기 위한 플랫폼 별 프로젝트 파일이 있는 디렉토리. (''주의: vc6.mak 파일이 있는지 확인해 보세요. 빌드에 중요합니다'')
          * 메이크 파일을 읽으면, 아래와 같은 대화 상자가 나와 "프로젝트를 만들겠냐고 물어 보는데, 당연히 [예] 하시고, 적당한 이름(예: STLP_vc6)을 짓죠. 프로젝트 파일인 .dsp와 .dsw가 만들어 지면서 재사용 바이너리를 빌드할 수 있게 됩니다.
          1. 재사용 바이너리는 STLport 패키지에 있는 표준 C++ 헤더를 사용하여 빌드되므로, VC++이 이 헤더를 가장 먼저 참조할 수 있도록 해야 합니다. 따라서 이 짓을 해 줍시다.
          * 기본적으로 만들어지는 라이브러리는 총 6개입니다. 이중 "stldebug"란 문자열이 들어 있는 라이브러리는 STLport 전용의 디버그 기능이 함께 들어 있는 버전입니다. 사용방법은 아래의 "디버그 기능 사용하기"에서 보십시오.
         만들어진 STLport의 재사용 바이너리와 표준 헤더를 비주얼 스튜디오에서 쓸 수 있도록 해주는 과정입니다.
         STLport는 상용이 아니기 때문에, 링크 시 사용하는 STLport 전용 C++ 런타임 라이브러리(입출력스트림이 있는) 직접 설정해 주어야 합니다. 이것을 제대로 이해하려면 우선 VC++가 사용하는 런타임 라이브러리를 알아 봐야 합니다. VC++6의 런타임 라이브러리는 VC98/lib 디렉토리에서 확인할 수 있는데, 정적/동적 링크여부에 따라 크게 {{{~cpp LIBxxx.lib}}} 버전과 {{{~cpp MSVCxxx.lib}}} 버전으로 나뉩니다. 프로젝트에서 조정하는 부분은 Project > Setting 메뉴로 열리는 C/C++ 탭입니다. C/C++ 탭에서 "Code Generation" 카테고리를 선택하면 '''Use Run-time Library''' 드롭다운 박스를 조정해 줄 수 있습니다. 여기서 디버그 정보 포함('''debug''') 유무, 런타임 라이브러리의 스레딩('''thread''') 모드, 동적 링크 여부('''DLL''')의 조합을 결정해 줄 수 있습니다. 긴 설명은 빼고, 간단히 정리하면 다음과 같습니다. (MSDN의 설명을 참고하여 정리하였습니다)
         이렇기 때문에, STLport용 C++ 라이브러리도 여기에 맞춰 줘야 합니다. 세 개의 매크로 상수를 사용할 수 있습니다.
         == 디버그 기능 사용하기 ==
         _STLP_DEBUG란 심볼을 정의해 두면 됩니다. 이렇게 하면, "stldebug" 문자열이 포함된 lib과 DLL이 사용됩니다.
         이제 다 끝났습니다. STLport가 제대로 설치되었는지 확인하는 의미에서, 패키지에 들어 있는 메이크 파일을 Visual C++을 사용하여 읽은 후에 빌드해 보세요.
         == 플랫폼 SDK과 같이 사용할 경우 "InterlockedIncrement" 관련 컴파일 에러가 날 때 ==
  • Gof/Mediator . . . . 20 matches
         비록 하나의 시스템에 많은 객체들이 참여하는 것이 일반적으로 재사용성을 강화할지라도 interconnections이 늘어나는 것은 재사용성을 감소시키려는 경향이 있다. 너무나 많은 객체간의 상호 연결들은 객체들의 독립성을 떨어뜨릴 수 있다. - 그런 시스템은 마치 완전히 통일된 것 같이 행동한다.
         예로써 어떤 GUI상에서 다이얼로그 박스의 구현을 고려해보자. 하나의 다이얼로그 박스는 작은 도구들(버튼, 메뉴, 입력 필드)의 모음을 표현하는 하나의 윈도우를 사용한다.
         대게 다이얼로그의 도구들 사이에는 어떤 dependency들이 존재한다. 예를 들면, 어떤 버튼은 어떤 입력 필드가 비어있을때는 비활성화 되어있는다. list box라 불리는 선택 목록에서 객체를 선택하는 것은 입력필드의 내용을 바꿀 것이다. 바꿔말하면, 입력필드에 문자를 타이핑하는 것은 자동적으로 리스트 박스에서 하나이상의 대응대는 입력을 선택하는 것이다. 한번 텍스트가 입력 필드에 나타나면, 다른 버튼들은 아마 활성화 될것이다. 그래서 사용자가 텍스트로 어떤 일을 하게 하게할 것이다. 예를 들자면, 관련있는 것을 삭제하거나 변경하거나 하는 따위의 일을 할 수 있을 것이다.
         다른 다이얼로그 박스들은 도구들 사이에서 다른 dependency들을 지닐 것이다. 그래서 심지어 다이얼로그들이 똑같은 종류의 도구들을 지닌다 하더라도, 단순히 이전의 도구 클래스들을 재사용 할 수는 없다. dialog-specific dependency들을 반영하기 위해서 customize되어져야 한다. subclassing에 의해서 개별적으로 도구들을 Customize하는 것은 지루할 것이다. 왜냐하면 많은 클래스들이 그렇게 되어야 하기 때문이다.
         MediatorPattern은 이럴 때 사용한다.
          * 어떤 객체를 재사용하는 것이 그것이 많은 다른 객체들과 관련이 있고 통신을 하기 때문에 어려울 때.
          1. MediatorPattern은 subclassing을 제한한다. mediator는 다시말해 몇몇개의 객체들 사이에 분산되어질 행위를 집중한다. 이런 행위를 바꾸는 것은 단지 Mediator를 subclassing하기만 하면 된다. Colleague 클래스들은 재사용되어질 수 있다.
          2. MediatorPattern은 colleague들을 떼어놓는다. Mediator는 colleague들 사이에서 loose coupling을 촉진한다. colleagued와 Mediator를 개별적으로 다양하게 할 수 있고, 재사용 할 수 있다.
         또 다른 방법은 colleague들이 보다 더 직접으로 communication할 수 있도록 특별한 interface를 mediator에게 심는 것이다. 윈도우용 Smalltalk/V가 대표적인 형태이다. mediator와 통신을 하고자 할 때, 자신을 argument로 넘겨서 mediator가 sender가 누구인지 식별하게 한다. Sample Code는 이와 같은 방법을 사용하고 있고, Smalltalk/V의 구현은 Known Uses에서 다루기로 하겠다.
         우리는 DialogDirector를 Motivation에서 보았던 것처럼 font dialog를 구현하기 위해서 사용할 것이다. 추상 클래스 DialogDirector는 director들을 위한 interface를 정의 하고 있다.
         changed 는 director의 WidgetChanged 연산을 호출한다. Widget들은 자신의 director의 WidgetChanged 호출을 의미있는 이벤트를 알져주기 위해서 사용한다.
         ListBox, EntryField, Button은 특화된 사용자 인터페이스 요소를 위한 DialogDirector의 subclass들이다. ListBox는 현재 선택을 위해서 GetSelection연산자를 제공한다. 그리고 EntryField의 SetText 연산자는 새로운 text로 field를 채운다.
         ET++[WGM88]와 THINK C class library[Sm93b]는 다이얼로그에서 widget들 사이에 mediator로서 director와 유사한 객체를 사용한다.
         SmallTalk/V는 Pane-ViewManager 통신을 위해 event 기법을 사용하고 있다. 어떤 pane은 어떤 정보를 mediator로 부터 얻기 원하거나 어떤 의미있는 일이 발생해서 이를 mediator에게 알려주기 위해서 event를 생성한다. 하나의 event는 그 event를 식별하는 symbol을 정의한다. 그 event를 다루기 위해서 ViewManager는 pane에 method selector를 등록한다. 이 selector는 event의 handler이다. 이것은 event가 발생한 때면 언제든지 수행될 것이다.
         유사한 application은 Unidraw drawing framework에서 나타나고[VL90] connectors사이에 연결성 제약들을 적용하는 CSolver라 불리는 class를 사용한다. 그래픽 편집기에서 객체들은 다른 방법으로 서로 다른 객체들을 짜집는 것으로 보일 수 있다. connector들은 연결성이 자동적으로 관리되는 그림 편집기나 회로 설계 시스템과 같은 application들에서 유용하다. CSolver는 객체들 사이에 mediator이다. 그것은 연결제약을 해결하고, connector들의 위치를 그것들을 반영하기 위해서 update한다.
         기본적으로 FacadePattern은 클래스 집단이 있고, 그 클래스 집단을 사용하는 외부 클래스의 입장에서 필요한 패턴이고, MediatorPattern은 클래스 집단이 있고, 그 클래스 집단 내부에서 서로를 사용하기 위한 패턴이다.
         예컨대, Seminar:ElevatorSimulation 에 여러가지 배우(엘레베이터, 사람, 층, ...)들이 존재할 경우, 사람은 층을 참조, 사용하고, 층은 다시 갖고 있는 사람을 참조하고, 엘레베이터는 사람을 참조, 사용하고 하는 식으로 복잡한 (순환) 의존관계가 존재한다. 이럴 때 MediatorPattern을 쓰게되면 이 복잡한 의존고리를 끊을 수 있다.
  • OurMajorLangIsCAndCPlusPlus/errno.h . . . . 20 matches
         ||5||int EIO||입출력 에러;언제나 물리적인 입출력 에러에 사용됨.||
         ||6||int ENXIO||그런 장치나 주소가 없음. 시스템이 당신이 파일에서 설정한 장치를 사용하고자 하나 그러한 장치 를 찾을 수 없었다. 이것은 장치파일이 잘못 인스톨되었거나, 물리적인 장치를 빠뜨렸거나 또는 컴 퓨터와 제대로 부합되지 않았음을 의미한다. ||
         ||7||int E2BIG||인수가 너무 길다;실행함수에 의해서 실행되는 새로운 프로그램에 주어진 인수가 너무 큰 메모리 공간을 사용할 때.||
         ||10||int ECHILD||자식 프로세스(child process)가 없다. 이 에러는 자식 프로세스를 다루는 오퍼레시션을 사용했는 데 다루기위한 어느 프로세스도 존재하재 않을 때 발생한다.||
         ||11||int EAGAIN||자원을 일시적으로 사용할수 없다.; 그 호출은 나중에 당신이 다시 재시도 할수 있도록 한다. 오 직 분기점에서 이러한 이유로 EAGAIN에러 코드를 리턴한다.||
         ||16||int EBUSY||시스템 자원 사용중; 분배될 수 없는 시스템 자원이 이미 사용중일 때, 예를 들어: 현재 마 운트된 파일시스템의 루트에서 한개의 파일을 지우려 할 때에 이 에러를 만난다.||
         ||18||int EXDEV||파일시스템이 인지할수 없는 영역에 부적당한 링크를 만들려고 시도할 때 이 에러메세지가 나온 다. 이것은 링크를 사용할때만 발생하지만 또, rename으로 파일을 재명명할 때 발생하기도 한다.||
         ||22||int EINVAL||적합하지 않은 인수. 이것은 라이브러리 함수에 잘못된 인수를 주는것과 같은 종류의 다양한 문제 를 지적하는데 사용한다.||
         ||33||int EDOM||도메인 에러; 인수의 값이 정의된 함수를 지나 도메인에게 전달되지 않았을 때 수학적 함수에 의해 사용된다.||
         ||39||int ENOLCK||유용한 락이 아니다. 이것은 파일 락킹 함수들에 의해 사용된다.||
         || ||int ETXTBSY||현재 사용되고 있는 파일을 다시 읽거나 쓰기위해 오픈하려 시도할 때 발생 ("text fiel busy" 라고 한다.)||
         || ||int ENOPROTOOPT||당신은 소켓에 의해 사용되어지고 있는 특별한 프로토콜에서 이해할수 없는 소켓옵션을 지정하였다.||
         || ||int EAFNOSUPPORT||소켓을 위하여 지정된 주소의 부류들이 지원되지 않는다; 그 주소가 소켓에서 사용되는 프로토콜과 일치하지 않는 것이다.||
         || ||int EADDRINUSE||요청된 소켓주소가 이미 사용중이다.||
         || ||int ENOBUFS||입출력 오퍼레이션을 위한 커널의 버퍼들이 모두 사용중이다.||
         || || ||참고로 sysbolic links는 데이터베이스 프로그램과 스프레드 시트 등과 같은 프로그램들 사이에서 상호 간의 원활한 데이터 교환을 위해 사용되는 데이터 파일의 형식||
         || ||int EDQUOT||사용자의 디스크 할당이 초과되었다.||
         || ||int EBACKGROUND||GNU 시스템에서 어떤 오퍼레이션의 호출자가 터미날의 전면처리 그룹에 없을 때 서버지원 프로토 콜에 이 에러가 리턴된다. 사용자들은 보통 이 에러를 보지 못하는데 왜냐하면 함수들은 SIGTTIN 이나 SIGTTOU신호로 해석하여 읽고 쓰기 때문이다.||
         || ||int ED||경험있는 사용자는 무엇이 잘못인지 알 것이다.||
  • PatternOrientedSoftwareArchitecture . . . . 20 matches
          * 3가지 다른 레벨(소프트웨어 구조,모든 디자인, idioms)에서 어떻게 패턴이 발생하는지 이 책에 자세히 나와 있다. 이러한 통합적인 접근 다소 이론적일거 같이 보이지만, 저자는 12개의 패턴과 실제로 사용되는 예제를 많이 보여 준다.
          * 소프트웨어 구조적인 관점에서 사용되는 패턴들이 나온다.
          * 레이어 J+1에 의해서 사용될 서비스를 제공한다.
          * 레이어 패턴의 중요한 구조적인 특징은 레이어 J는 오직 레이어 J+1에 의해서만 사용될 수 있다는 점이다. (스택이나 양파와 비교할 수 있다)
          * task(과업,일) 들을 레이어에 배치하기 위한 추상적인 기준을 정의 하여라. 실제적인 소프트웨어 개발에서 우리는 종종 추상적인 기준들의 혼합을 사용한다. 예를들어서 하드웨어적인 관점에서 저 수준의 레벨들의 모습을 정하고, 개념적인 복잡성으로 고 수준의 레벨을 정한다.
         컴포넌트나 서비스가 사용되는 관계 |
          * 각 레이어에 대한 인터페이스를 명확히 해라 (가능한한 black-box 접근을 사용하는 것이 좋다, 이것이 시스템 발전을 도와주기 때문이다. 효율이나 다른 레이어의 내부에 접근할 필요가 있을때는 예외이다.)
          * 이 패턴의 알려진 사용예 (Known Uses)
          * 레이어의 재활용 - 프로그래머들은 현재 존재하는 레이어가 자신의 목적에 맞지 낳는다고 이미 있는것을 재사용 하기보다는 새로 짜는 경우가 많다. 그러나 현재 존재하는 레이어를 재사용(black-box reuse)하는 것은 개발에 드는 노력과 프로그램의 결점들을 극적으로 감소 시킬 수 있다.
          * 의견 : 이 layer 패턴을 사회적인 것과 결부시켜서 생각하면 관료제와 비슷하다고 생각한다. 교체 가능하고, 단계적으로 올라가고, 내려가고 뭐 여러가지 점이 유사하다. 이 패턴이 사용하는 사람들이 관료제에서 착안해서 이 패턴을 사용하는 것은 아니겠지만 하여튼 그러한 유사점을 발견하니깐 신기했다.
          * 추후의 시스템 향상이 사용자에 의해서 조차, 처리 단계(step)들을 바꾸거나 재조합 하는것으로서 가능해야 한다.
          * 작은 처리 단계가 큰 components 보다 다양한 환경에 재사용 하기 좋다.
          * 이 패턴은 : data source - filter - pipes - filter - data sink, 의 순서로 되어 있고, 각 필터에서는 데이터를 처리하는 함수가 있을 수 있다. 레이어 패턴과 비슷한 점도 보이지만, 이 패턴의 특징은 쉬운 재조합과 재사용성이다. 에러를 처리하는 관점과 시스템의 신뢰성을 따지면 레이어가 더 낮다.
          * 생각해야할 문제 : 각각의 문제에 대한 해결책은 다른 표현이나 paradigms 이 필요하다. 많은 경우에 어떻게 '부분적인 문제들을 풀어주는 해결책'이 어떻게 조합되어야 하는지에 대해서 미리 정의된 전략은 없다. 아래의 내용은 이런 종류의 문제를 푸는데 영향을 끼지치는 force(이 패턴이 사용되는 경우?)들이다.
          * 그 영역이 미성숙해서, 같은 하부 task에 여러가지 알고리즘을 사용한다.
          * 모든 부분적인 문제들은 같은 knowledge 표현을 사용하여 해결된다. 그러나 input으로 다양한 표현이 올 수 있다.
          * control component는 불러낼 knowledge source와 앞으로의 작업에 사용될 하나의 hypothesis나 hypothesis 집합을 선택한다. 예제에서는 condition 부분의 결과에 의해서 그 선택이 이루어졌다.
          * 사용자가 시스템과 어떻게 서로 작용하는지 자세히 말하여라.
  • Spring/탐험스터디/2011 . . . . 20 matches
          1.1 ApplicationContext를 생성할 시 xml을 사용하는 방법도 있고 직접 설정해주는 방법도 있는데 xml을 사용할시 좋은 점은 코딩과 설정 담당을 분리할 수 있다는 점이 있다.
          1.2 pojo기반의 프로그래밍은 모듈을 조립해서 쓰기 쉽기 떄문에 재사용성이 높아진다. 이 때 조립을 코드부분에 맡기면 조립시 코드를 바꿔야 컴파일이 가능하지만 xml에 조립을 맡기면 설정xml을 바꾸는 것만으로도 쉽게 설정을 바꿔서 조립이 가능하다.
          1.1. 전략 패턴 : 전략(알고리즘)의 분리를 한다는 의미. 언어에 따라 패턴을 적용하는 방법이 조금씩 다를 수도 있다. 책에서는 interface를 사용해서 전략을 분리하였는데, 이것은 자바에 어울리는 전략의 분리라고 한다.
          1.2. Runtime Injection : 다형성을 만들기 위해서 사용한 방법. 개인적으로 코딩할 때 다형성의 사용이 좀 부족하다고 느꼈는데, Runtime시에 오브젝트간의 관계를 맺게 하지 않고 그냥 클래스에 맞춘 코딩을 했기 때문인 것 같다. 앞으로 코딩을 하는데 머릿속에 넣어두고 자주 써 보는 것이 좋을 것이라 생각된다.
          - HomeController는 MVC 모델의 컨트롤러로 뷰에 모델을 바인딩하는 역할을 담당한다. home() 메소드 내부의 Welcome home!은 logger에 찍히는 문자열이기 때문에 실제로 실행시에 보이는 것은 아니다. HomeController가 하는 주된 역할은 return "home";을 함으로써 HomeController를 사용하는 쪽에서 home.jsp(뷰)를 찾을 수 있게 하는 것이다.
          1.4. Connection c = DriverManager.getConnection(...); 문장에서 에러가 나는데 문자열의 localhost/springbook 부분을 자신이 사용할 테이블의 이름으로 바꾸어 주어야 한다. localhost/test로 바꿔준다. 이후의 문자열 두 개는 각각 자신의 MySQL 계정 이름(기본값 root), MySQL 비밀번호를 적어주면 된다.
          2. 스프링 프레임워크 사용하기(p.99의 예제)
          2.1. 우선 책에서 외부 라이브러리를 사용하고 있는데, STS에는 필요한 라이브러리가 들어있지 않은 것 같다. 이쪽 페이지(http://www.tutorials4u.net/spring-tutorial/spring_install.html)를 보고 라이브러리를 받아야 한다. 받아서 압축을 풀고 spring-framework-3.0.5.RELEASE/dist 폴더에 있는 jar 파일들을 프로젝트에 포함시켜주면 AnnotationContext, AnnotationConfigApplicationContext, @Configuration, @Bean 등을 사용할 수 있게 된다.
          1.1. DIP : 멤버 변수를 외부에서 주입 받을 때는 구체 클래스가 아닌 인터페이스를 이용한다. 최대한 클래스 내부에서 변수를 할당하지 말고(new를 사용하지 말고) 주입을 받도록 한다.
          1.1.1. Context : 스프링은 DI 기술을 많이 사용하고 있는데, 스프링에서 객체간의 의존관계 주입을 코드로부터 분리하는 역할을 Context가 담당하고 있다.
          1.2. 불변객체와 가변객체 : 불변객체는 생성된 이후에 내부의 필드에 대한 수정자가 없는 객체를 말한다. 내부 필드에 접근이 불가능하기 때문에 값이 변하지 않는다. 따라서 한 번 생성한 이후에는 필요한 곳에 같은 객체를 재사용할 수 있다. 가변객체는 내부의 값에 접근할 수 있는 메소드를 공하는 객체를 말한다. 가변객체를 불변객체처럼 한 번 생성한 후에 여러 곳에서 사용할 경우 한 곳에서만 값이 바뀌어도 모든 값이 다 바뀌므로 가변객체는 매번 사용할 때 마다 새로 생성(new)을 해 주어야 한다.
          2.1. 스프링의 ConfigurationContext 내부의 Bean에서 Context를 생성해서 DI를 하려고 했을 때 오류 발생 : Context 내부에서 Context를 생성하는 코드를 사용했기 때문에 생성이 재귀적으로 이루어져서 무한 반복된다. 그리고 디버그 시 main 이전에 에러가 일어났는데, 그것은 스프링의 Context는 시작 전에 Bean들을 생성하기 때문이다. main에 진입하기 이전의 스프링 초기화 단계에서 오류가 일어났다는 얘기.
          1. Spring Project를 생성하고 실행하는데 포트가 이미 사용중이라 되지 않음.
          - 라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어한다.
          - 프레임워크는 거꾸로 애플리케이션 코드가 프레임워크에 의해 사용된다.
  • SystemEngineeringTeam/TrainingCourse . . . . 20 matches
          * 여러가지 도메인이 가능했으나 한글 이름으로는 짧은 도메인이 불가능. 닉네임으로 쓰고 있는 bluemir를 사용해서 가능한 도메인 중에는 .org .net .me 등등이 가능했으나 .com은 불가능. 어차피 개인 도메인으로 사용할 예정이었고 .org 와 .net 보다는 .me가 조금더 맞는듯한 도메인 이었음. 한글이름 이니셜만 따서 .com을 사용해볼려 했으나 내 개인 도메인이라는 느낌이 들지않아서 위의 도메인으로 결정.
          * jereneal.me보다 훨씬 짧은데 사용가능한 도메인이었음. jkim은 jereneal kim도 되고, (tae) jin kim도 됨. .com등의 도메인은 없었음.
          * 나머지 도메인중에 구매할 것을 고르는데 도메인 설명중 .me의 "개인용으로 적합하다. 특히 resume, blogs에 사용할 수 있다"라는 설명이 나의 심금을 울렸는데 특히 resume부분이...
          * 구매 사이트는 hosting.kr 사용. 형진 선배의 추천으로 가격이 싸다고 들어서.
          * 닉네임이자 세례명인 linuspark을 사용, 컴공인으로써 부담되긴 하지만 여태 쓰던걸 바꿀생각이 없으므로 그대로 사용.
          * .com은 이미 등록되어있었고, .org .net .info .me 등 중에서 .net이 가장 싸서 이걸로 결정, 주로 네트워크회사 등에서 사용한다지만 가격이 우선함.
          * Fedora - 주로 데탑으로 많이쓰이고 업데이트가 빠르며 다양한 패키지들을 사용할수 있지만 다소 불안정함. 사실 연습용 서버로 쓰기에는 큰 무리가 없다.
          * Ubuntu - 맥분투라고 비난받고 있는 리눅스 뛰어난 사용자 편의성과 GUI를 갖추고 있고 문제 해결에 실마리가 될 포럼이 가장 활발하다. 하지만 대부분의 문제는 XWindows(이걸 뭐라 부르지..)쪽 문제. 빠른 패치와 다양한 패키지를 갖추고 있지만 언제 지원이 끊길지 모른다.
          * 현재 사용하고 있는 Fedora와는 CentOS가 유사하다.
          * 서영주 - 사용 비율, 포럼의 활성화 정도도 ubuntu쪽이 더 높은 것 같고 CentOS쪽이 안정성이 높다고는 하지만 어차피 지원을 받을 수 있는 RHEL과 비교하면 크게 차이는 없다고 한다. 하지만 써본 적이 없으므로 배우고 싶다는 이유로 CentOS쪽을 써보고 싶습니다.
          * 서민관 - trello 쪽에 있는 서버 운영체제 요건을 봤을 때 대부분이 큰 차이가 없는 것 같고 안정성 면에서 CentOS, 업데이트 속도 면에서 Fedora/Ubuntu 라는 느낌이라서 둘 중에 어느 쪽에 중점을 두느냐에 따라 결정이 갈리는 것 같습니다. 이런저런 생각의 결과 Ubuntu 계열을 사용하기로 결정했습니다. 이유는 여럿 있는데, 첫째는 지금까지 Ubuntu를 좀 써 본 만큼 익숙한 환경에서 하는 것이 그 외의 문제에 시간을 덜 쓰고 문제 자체만을 다루기에 좋을 것 같다는 것입니다. 그리고 두 번째로 이번에 Raspberry pi를 구매했는데, 이쪽에서 기본적으로 제공하는 운영체제가 Debian 계열이라서 Ubuntu에서 작업을 해 보면 Raspberry pi에서도 좀 더 작업을 편하게 할 수 있지 않을까 하는 생각이 들어서 Ubuntu 계열을 쓰기로 결정했습니다.
          * 일단 FreeBSD는 맥계열이라 제외 맥에대한 서버는 관심이 없다. Ubuntu와 CentOS중에서 Ubuntu가 더 익숙하고 사용하기 편하지만 CentOS선택.
          * 이유 : Ubuntu는 데스크탑으로 사용중이기에 Debian계열의 apt-get패키지는 사용한 적이 있다. 반면 CentOS의 yum패키지는 사용해 본 적도 별로 없고 사용하였을때 의존성문제로 많은 애러를 보았기에 이를 공부해 보고자 선택. 또한CentOS가 서버로 많이 사용된다는 점을 들어 문재해결시 도움이 될 자료가 많을 것 같아서 선택
  • WhatToProgram . . . . 20 matches
         프로그래밍의 궁극은 "사용자"와 프로그램의 사용을 통해 그가 받는 "현실적 가치"에 있다. 프로그래밍을 하면서 사용자를 생각하지 않는 것은 도무지 아무 의미가 없다. 프로그래밍이라는 행위 자체가 성립하질 않는다. 골방에 틀어박혀 자기만족적인 지적 유희를 즐기는 해커가 아니라면 말이다. 우리는 사용자의 마음을 꿰뚫어야 한다. 여기에 있어 직접 사용자가 되는 것만큼 좋은 방법은 없다. 업계에서 혹자는 요구사항 분석시 사용자와 한 달 간 같이 생활해 보라는 말도 한다.
         자기 삶에서 의미가 있는 프로그램을 만들게 되면 스스로가 사용자가 된다. 목적이 분명해 진다. 자기가 편한 프로그램을 만드는 것이다. 이 프로그램은 꼭, "내가 쓸 마음이 나는 프로그램"이어야 한다(그 프로그램을 만들고 싶은 열정이 생기고, 그걸 생각하면 가슴이 두근거린다면 더더욱 좋다 -- 이런 호기가 있을 때 그것을 충분히 누리도록 하라). 아무리 간단한 프로그램일지라도 나에게 가치있는 프로그램은 존재한다. 특정 언어에 대한 경험이 한 두 달일지라도 분명 그런 프로그램을 만들 수 있다. 대부분은 다른 프로그램들을 엮어주는 것일지도 모른다. 만약 난관에 부딪혔다면 책을 읽고, 사람에 묻고 자료를 검색해서 기술과 도구를 배우면 된다.
         이 프로그램을 개발해서 일주일이고, 한달이고 매일 매일 사용해 봐야 한다. 일주일에 한 번 사용하는 프로그램을 만들기보다 매일 사용할만한 프로그램을 만들라. 자신이 하는 작업을 분석해 보라. 무엇을 자동화하면 편리하겠는가. 그것을 프로그램 하라. 그리고 오랜 기간 사용해 보라. 그러면서 불편한 점을 개선하고, 또 개선하라. 때로는 완전히 새로 작성해야할 필요도 있을 것이다(see also [DoItAgainToLearn]). 아마도 이 단계에서 스스로를 위한 프로그램을 작성하다 보면 아이콘을 이쁘게 하는데 시간을 허비하거나, 별 가치없는 퍼포먼스 향상에 시간을 낭비하지는 않을 것이다. 대신 무엇을 프로그램하고 무엇을 말아야 할지, 무엇을 기계의 힘으로 해결하고 무엇을 여전히 인간의 작업으로 남겨둘지, 즉, 무엇을 자동화할지 선택하게 될 것이다. 또한, 같은 문제를 해결하는 여러가지 방법(기술, 도구, ...) 중에서 비용과 이익을 저울질해서 하나를 고르는 기술을 익히게 될 것이다.
         사실 이 단계에서는 꼭 어떤 사용을 전제로 하지 않더라도 열정을 갖게 해주는 프로그램이라면 괜찮다. 어떤 것에 대해 호기심이 생기는가? 컴퓨터로 실험을 해보고 싶은가? 그 생각이 밥을 먹거나, 잠을 자거나 떠나지 않는다면 프로그램 하라. 그냥 이걸 프로그램하면 공부가 될 것 같다든가, 혹은 남들이 다 하길래 한다든지 하는 것과는 질적으로 다른 경험을 할 것이다. 열정을 가진 것은 대부분 가슴 속에 그 모양이 이미 형성이 되어 있다. 조각가는 조각품의 형상을 이미 가슴 속에 품고 있다. NoSmok:최한기 는 이것을 강조한다. 일이 제대로 이루어지려면 그 일을 흉중에 품고 있어야 한다고. 머리 속에서, 정말 손끝에 잡힐 것만 같고, 그 프로그램이 살아있는 것 같이 느껴진다면 프로그램 하라. 자신의 아이디어를 컴퓨터가 이해하는 언어로 표현해 내는, 그리고 그 프로그램이 자신의 아이디어를 더 발전시키게 하는 능력을 갖게 될 것이다.
         이 과정이 어느 정도 되면, 타인을 위한 프로그램을 작성할 수 있다. 나에게는 별 의미가 없지만 남에게 "아주 귀중한 가치를 주는" 프로그램을 만들어라. 서로 만들어줘도 좋다. 자신이 컴퓨터 공학과라면 국문학과 학생에게 프로그램을 만들어주라. 그와 가까이 지내고 그가 진정 원하는 것이 무엇이며, 진정 필요로 하는 것이 무엇인지(원하는 것과 필요로 하는 것은 다르다) 분석하고, 프로그램 해줘라. 그가 그 프로그램을 한 달 이상 사용하는가? 그래야 한다. 그 정도로 가치있는 프로그램이어야 한다. 가치있는 프로그램이 꼭 복잡하거나 거대할 필요는 없다. 그가 프로그램의 수정을 요구한다면 가능하면 모두 들어주어라. 그게 힘들다면 그를 납득시켜라. 아마도 이 단계에서 타인을 위한 프로그램을 작성하면서 "작성자"와 "사용자"간의 프로그램을 통한 커뮤니케이션의 중요성에 눈을 뜨게 될 것이다. 인터페이스에 대해 고민할 것이다. 얼마나 이쁘냐보다, 얼마나 실수할 행위유발성을 제공하지 않느냐, 그리고 어떤 메타포를 사용할 것인가(이에 대해서는 비지칼크란 프로그램을 연구하라) 하는 문제를 생각할 것이다.
         이 단계를 거치면 이제는 타인들을 위한 프로그램을 작성한다. 일단 사용자가 다수이다. 또, 어떤 사용자 집단을 상정할 수는 있지만 개개인을 전제할 수는 없다. 아마도 이 단계에서는 평균적 사용자에 대해 고민하게 될 것이고, 때로는 여러사람의 동시 사용자로 야기되는 동시성 제어나 퍼포먼스 문제로 고민할 것이다. 그리고 프로그램의 크기가 커지면서 그리고 요구사항 변경이 여러 소스를 통해 빈번히 들어오게 되면서 어떻게 설계해야 하느냐는 문제로 고민할 것이다.
         프로그래밍 기술보다도 중요한 것은 어쩌면 현실세계의 문제를 해결하는 것 그 자체일지도 모른다(도구와 기술은 본질적 문제를 해결해 나가는 과정으로서 필요에 따라 공부하면 되겠다). 우리는 정말 사용자를 위한 프로그램을 만들어야 한다. 그리고 이 공부는 가까운 곳에서부터 출발한다.
  • 논문번역/2012년스터디/이민석 . . . . 20 matches
         본 논문에서는 은닉 마르코프 모형에 기반한, 어휘(lexicon)-free 오프라인 필기 인식 시스템을 소개하고 완전한 영어 문장 데이터베이스에 관한 몇 가지 실험을 저자 독립식 그리고 대조를 위해 다저자, 단일 저자식으로 수행했다. 전처리와 특징 추출 방법을 소개하고 이에 더해 선형 판별 분석, 이서체 글자 모형의 사용, 통계적 언어 모형 같은 더욱 정교한 기법들을 조사한다. 그 뒤의 절에서는 오프라인 필기 인식에 대한 관련 작업들을 짧게 검토한다. 우리가 사용한 데이터베이스는 3절에서 소개한다. 그 다음 전처리, 특징 추출 방법, 통계적 모델링과 인식을 위한 기법을 설명한다. 평가 결과는 제안한 방법의 효율성을 입증하기 위해 7절에서 소개한다.
         최근 몇 년간 오프라인 필기 인식 분야는 상당히 진전하였다. 특히 우편 주소나 legal amount 읽기를 위한, 적은 어휘를 사용한 개별 단어 인식 시스템은 높은 인식률을 달성했고 인식 정확도뿐 아니라 처리 속도를 고려해봐도 개선할 여지가 거의 없다. [2] [8]
         한 줄을 초기에 분할하여 발생하는 오류를 피하기 위해 [9]에서는 분할을 하지 않는, 즉 한 줄 전체를 인식 모듈에 넘기는 방법을 제안한다. 이 시스템은 단일 저자에 대해 검사되었고 통계적 언어 지식과 결합하여 유망한 인식 결과를 달성한다. [11]은 저자 수백 명으로부터 제작하고 보다 큰 데이터베이스에서 검사된, 저자에 무관한 제약 없는 글자 인식을 위한 발전된 시스템을 서술한다. 앞으로 나올 절에서 설명하는 시스템은 전처리와 특징 추출 방법이 약간 다른 비슷한 접근법을 사용한다. 그에 더해 이서체 글자 모형, 즉 글자 종류별 HMM 집합과 통계적 언어 모형의 사용 뿐 아니라 특징 벡터의 선형 판별 분석(LDA)을 적용한 결과도 조사한다.
         훈련과 인식을 위한 입력 데이터는 완전한 영어 문장 데이터베이스에 의해 제공되고 각각은 Lancaster-Oslo/Bergen 말뭉치에 기반한다. [7] 저자 독립식 뿐 아니라 다수 저자에 관한 실험을 Bern 대학의 IAM에서 수집한 필기 형태 [10]의 데이터베이스를 사용하여 수행하였다. 데이터베이스 전체는 다양한 글 범주(출판 글자, 종교, 인기 설화, 픽션...)를 포함하고 500명 이상 저자의 1200개 이상 필기 형태로 구성된다. 우리는 250명 이상의 저자가 저자 독립식 실험을 위해 제작한 범주 [a..f]의 form과 여섯 저자가 다저자식을 적용하여 제작한 하위집합 c03을 사용한다.
         우리의 시스템을 단일 저자식에서도 평가하기 위해 Senior [15]가 수집한 데이터베이스의 필기 서식으로도 실험을 수행했다. 이 데이터베이스는 한 저자가 쓴 25쪽으로 구성되며 웹에서 공개적으로 얻을 수 있다.1 두 데이터베이스의 필기 양식들은 256 그레이 레벨을 사용하여 300dpi 해상도로 스캔하였다. 그림 1에 각 데이터베이스의 예시가 있다.
         가끔 글씨체가 한 줄에서도 확 바뀌는 것에 동기를 얻어 우리는 각 줄의 수직 위치, 기울임, 경사를 국소적으로 교정한다. 따라서 각 행은 필기 조각segment들 사이의 공백을 탐색하여 분리된다. 믿을 만한 정규화 계수를 계산하기에는 너무 짧은 조각을 피하기 위해 threshold를 사용한다.
         필기 줄을 전처리한 이미지는 특징 추출 단계의 입력 자료로 사용된다. sliding window 기법을 [11]이 설명하는 접근법과 비슷하게 적용한다. 우리의 경우 이미지의 높이와 열 네 개 크기의 창이 이미지의 왼쪽에서 오른쪽으로 두 열씩 겹치면서 움직이고 기하 추출의 쌍을 추출한다.
         강도 분포의 평균값의 변화 뿐 아니라 하단 contour와 상단 contour의 방향을 고려하기 위해 추가적으로 세 가지 방향성 특징을 계산한다. 말인 즉 우리는 네 lower countour 점, upper contour 점, sliding window 내 평균값을 통해 줄들을 재고 선 방향들을 (8), (9), (10) 특성으로 각각 사용한다. (뭔 소리) 더 넓은 temporal context를 고려하여 우리는 특징 벡터의 각 성분마다 근사적인 수평 미분을 추가로 계산하고 결과로 20 차원 특징 벡터를 얻는다. (윈도우당 특징 10개, 도함수 10개)
         필기 글자 인식을 위한 HMM의 구성, 훈련, 해독은 ESMERALDA 개발 환경[5]이 제공하는 방법과 도구의 틀 안에서 수행된다. HMM의 일반적인 설정으로서 우리는 512개의 Gaussian mixtures with diagonal covariance matrice(더 큰 저자 독립 시스템에서는 2048개)를 포함하는 공유 코드북이 있는 semi-continuous 시스템을 사용한다. 52개 글자, 10개 숫자, 12개 구두점 기호와 괄호, 공백 하나를 위한 기본 시스템 모형은 표준 Baum-Welch 재측정을 사용하여 훈련된다. 그 다음 한 줄 전체를 인식하기 위해 글자 모형에 대한 루프로 구성된 conbined model이 사용된다. 가장 가능성 높은 글자 시퀀스가 표준 Viterbi beam- search를 이용하여 계산된다.
         우리의 필기 인식 시스템을 평가하기 위해 단일 저자식, 다저자식, 저자 독립식 인식 이렇게 세 가지 실험을 수행했다. 표 1에 이들 실험의 글자 오류율이 있다. 처음 두 열은 실험 종류, 3열은 언어 모형을 적용하지 않은 오류율, 4열은 바이그램 언어 모형을 글자 수준에서 적용한 결과다. 언어 모형은 IAM 데이터베이스의 [a..d] 범주의 모든 글을 사용하여 생성하였고 실험 내내 일정하다. 표 2에는 어휘-free 단어 인식과 어휘 기반 단어 인식이 나타나있다.
         다저자 필기 인식 작업의 경우 IAM 데이터베이스의 하위집합 c03에서 훈련에 440줄, 검정에 109줄을 사용하였다. 이 줄들은 글씨체가 확연히 다른 저자 여섯이서 작성하였다. 이 작업에서 LDA(12차원으로 경감)를 쓴 글자 오류율 14.2%는 이서체 모형(각 소문자에 이서체 6개)을 추가로 사용하여 13.3%로 더 크게 감소했다. 바이그램 언어 모형을 채택한 결과 오류율은 11.1%로 더욱 감소했다(검정 집합 perplexity는 12.0). 어휘 없는 단어 오류율은 39.0%로, 단어 421개(구두점 포함)를 포함한 어휘를 적용하여 오류율은 13.9%로 줄어들었는데 [11]에 나온 20.5%와 많이 비교된다.
         이 결과들에 고무하여 우리는 더 어려운 작업인 저자 독립 인식 실험을 수행했다. IAM 데이터베이스의 하위 집합 [a- f](저자 약 250명)을 입력 자료로 썼는데, 훈련에 4321줄(양식 [a-d]), 검정에 1097줄(양식 [e-f])을 사용했다. 베이스라인 시스템의 글자 오류율은 31.3%다. 저자 독립의 경우 이서체 모형은 다저자 실험에 비해 별다른 향상을 이루지 못했다. 오류율 31.3%는 글자당 이서체 3개를 써서 얻은 것이며 글자당 이서체 10개를 써서 실험했을 때 오류율(34.8%)과 인식 속도 모두 하락하였다. 하지만 오류율은 LDA 변환한 특징을 썼을 때 29.1%로 크게 감소했다. 언어 모형을 추가로 통합하여 글자 오류율은 22.2%로 더욱 개선되었다(검정 집합의 perplexity는 12.0). 이는 어휘를 쓰지 않았을 때 단어 오류율 60.6%와 대응된다.
          * 보잉사의 공돌이들은 3D 모델링과 계산유체역학을 사용하여 차세대 상업 및 군사용 비행기를 설계한다. 이들은 비행기 주변의 기류를 시뮬레이션하고자 방정식과 변수를 대략 200만개 포함하는 일차 방정식을 반복하여 푼다. 이러한 거대한 방정식계를 현실적인 시간 내에 풀려면 분할 행렬(partitioned matrix)과 행렬 인수분해(matrix factorization)라는 개념을 도입해야 한다.
  • 토비의스프링3/밑줄긋기 . . . . 20 matches
          * 스프링을 사용하는 개발자들은 자연스럽게 자바와 엔터프라이즈 개발의 기본에 충실한 베스트 프랙티스를 적용할 수 있고, 이상적인 개발 철학과 프로그래밍 모델을 이해하게 되고, 좋은 개발 습관을 체득하게 된다.
          * 스프링을 사용하는 개발자들이 스프링을 통해 얻게 되는 두 가지 중요한 가치가 있다면 그것은 '''단순함'''과 '''유연성'''이다.
          * 전략 패턴에 따르면 Context가 어떤 전략을 사용하게 할 것인가는 Context를 사용하는 앞단의 Client가 결정하는 게 일반적이다.
          * Context는 전달받은 그 Strategy 구현 클래스의 오브젝트를 사용한다.
          * 일반적으로 DI는 의존관계에 있는 두 개의 오브젝트와 이 간계를 다이내믹하게 설정해주는 오브젝트 팩토리(DI 컨테이너), 그리고 이를 사용하는 클라이언트라는 4개의 오브젝트 사이에서 일어난다.
          * hamcrest.CoreMatchers에 대해서 : CoreMatcher로 테스트 코드를 만들 때 null 값은 비교나 not을 사용하는 것이 불가능합니다(ex. assertThat(tempObject, is(null)); -> 에러). 이건 null이 값이 아니기 때문인데, CoreMatcher에서 null 값을 쓸 때는 org.hamcrest.CoreMatchers의 notNullValue()와 nullValue()를 사용하시면 되겠습니다. http://jmock.org/javadoc/2.5.1/org/hamcrest/CoreMatchers.html
         ==== 사용자 레벨 관리 기능 추가 ====
          * 의미 없는 숫자를 프로퍼티에 사용하면 타입이 안전하지 않아서 위험할 수 있다.
          * 그래서 숫자 타입을 직접 사용하는 것보다는 자바 5 이상에서 제공하는 이늄(enum)을 이용하는 게 안전하고 편하다.
          * 두 번째 방법은 테스트를 보강해서 원하는 사용자 외의 정보는 변경되지 않았음을 직접 확인하는 것이다.
          * 하지만 여러 개의 SQL이 사용되는 작업을 하나의 트랜잭션으로 취급해야 하는 경우도 있다.
          * 이렇게 여러 기술의 사용 방법에 공통점이 있다면 추상화를 생각해볼 수 있다. 추상화란 하위 시스템의 공통점을 뽑아내서 분리시키는 것을 말한다. 그렇게 하면 하위 시스템이 어떤 것인지 알지 못해도, 또는 하위 시스템이 바뀌더라도 일관된 방법으로 접근할 수가 있다.
          * 어떤 클래스든 스프링의 빈으로 등록할 때 먼저 검토해야 할 것은 싱글톤으로 만들어져 여러 스레드에서 동시에 사용해도 괜찮은가 하는 점이다. 상태를 갖고 있고, 멀티스레드 환경에서 안전하지 않은 클래스를 빈으로 무작정 등록하면 심각한 문제가 발생하기 때문이다.
          * 스프링을 DI 프레임워크라고 부르는 이유는 외부 설정정보를 통한 런타임 오브젝트 DI라는 단순한 기능을 제공하기 때문이 아니다. 오히려 스프링이 DI에 담긴 원칙과 이를 응용하는 프로그래밍 모델을 자바 엔터프라이즈 기술의 많은 문제를 해결하는 데 적극적으로 활용하고 있기 때문이다. 또, 스프링과 마찬가지로 스프링을 사용하는 개발자가 만드는 애플리케이션 코드 또한 이런 DI를 활용해서 깔끔하고 유연한 코드와 설계를 만들어낼 수 있도록 지원하고 지지해주기 때문이다.
          * 서비스 추상화에는 기능은 유사하나 사용 방법이 다른 로우레벨의 다양한 기술에 대해 추상 인터페이스와 일관성 있는 접근 방법을 제공해주는 것을 말한다. 반면에 테스트를 어렵게 만드는 건전하지 않은 방식으로 설계된 API를 사용할 때도 유용하게 쓰일 수 있다.
          * 서비스 추상화란 이렇게 원활한 테스트만을 위해서도 충분히 가치가 있다. 기술이나 환경이 바뀔 가능성이 있음에도, JavaMail처럼 확장이 불가능하게 설계해놓은 API를 사용해야 하는 경우라면 추상화 계층의 도입을 적극 고려해볼 필요가 있다. 특별히 외부의 리소스와 연동하는 대부분 작업은 추상화의 대상이 될 수 있다.
          * 테스트 환경을 만들어주기 위해, 테스트 대상이 되는 오브젝트의 기능에만 충실하게 수행하면서 빠르게, 자주 테스트를 실행할 수 있도록 사용하는 이런 오브젝트를 통틀어서 테스트 대역(test double)이라고 부른다.
  • BigBang . . . . 19 matches
          * C/C++/Java 언어를 공부하고 서로간의 사용상 차이점과 공통적인 패턴 학습
          * namespace : 이름 중복을 막기 위해 사용
          * C는 bool이 없다!, c++은 있다. java는 boolean으로 사용한다. - C11은 있단다.
          * void pointer 사용 자제합시다. void pointer가 가리키는 값의 타입을 추론할 수 없다. [http://stackoverflow.com/questions/1718412/find-out-type-of-c-void-pointer 참고]
          * 많은 기능을 잘게 쪼개기 위해 함수를 사용한다.
          * 코드의 재사용성을 높인다.
          * global variable의 사용을 자제하자. 함수의 기능을 이해하기 어렵게 만든다.
          * #ifndef NAME : #define NAME이 되어있지 않는 경우에 작동한다. 주로 헤더파일 중복 include를 막기 위해 사용한다.
          * namespace로 같은 이름을 가진 클래스들을 사용해보자
          * private 상속을 받게 되면, 클래스 내에서만 사용할 수 있고, 외부에서는 접근을 할 수 없다. 부모 클래스가 가상함수를 가지고 있고, 이것을 재정의 해서 사용할 수 있다.
          * 어떤 클래스를 쓰되, 외부에 공개하지 않고, 가상함수를 상속받아야 할 때 사용할 수 있다.
          * (사실 people 클래스 안에 DataInfo를 멤버 변수로 선언해서 사용해도 되긴 하다. 하지만 private 상속을 받을 때 보다 메모리를 더 많이 사용하게 되기 때문에, private 상속을 쓰는 게 좋다.)
          * 무효화가 적어야 하는 경우에는 node 기반(list, set)을 사용해야 한다.
          * 이렇게 될 경우, widget은 계속 생성되는데, pop을 하면, 만들어진 widget은 계속 메모리에 상주하고, widget을 가리키고 있는 ar 항목들만 삭제된다. 그래서, shared_ptr을 사용한다.
          * C++의 패러다임이 다양하기 때문에 C++를 사용하는 방법도 매우 달라질 수 있고 최적화 방법도 달라질 수 밖에 없다.
          * #define을 사용하면 컴파일러가 잡아주지 못해서 에러를 발생시킬 가능성이 크다. 그러나 이 말이 #define을 사용하지 말라는 의미는 아니다! 케바케로서 #define이 const보다 맞는 경우도 존재한다.
  • ZeroPageServer/Mirroring . . . . 19 matches
         이번호에서는 이러한 유틸리티를 사용하지 않고, 미러링(Mirroring) 기능을 이용하여 로컬시스템 또는 원격서버의 데이터를 그대로 복사하여 백업하는 방법에 대해서 알아봅니다......
          할 때 이 방법이 사용된다.
          여러대의 서버를 분산하여 서버를 동기화하는데 rsync 유틸리티가 많이 사용된다.
          를 설치하여 사용한다. 그러면 우선, rsync 패키지가 설치되어 있는지를 확인해 본다...
          은 다음과 같다. rsync 사용법에 관한 자세한 것은 잠시 후에 살펴보기로 하자...
          사용하여 원격 서버에 접속을 하게 되면 패스워드를 묻게 되는데, 원격 서버의 루트 패스
          워드를 입력한다. 만일 일반 사용자 계정으로 이 명령을 수행한다면 원격 서버에도 동일한
          용자가 직접 만들어 사용해야 한다. 이 파일의 설정 형식은 다음과 같다.
          uid = 사용자 ID
          ① {{{[rsync 서비스명]}}} : rsync 서비스의 이름(모듈명)이다. 사용자가 원하는 형태로 서비스명
          ④ uid, gid : 각각 파일 전송하는 사용자와 그룹의 아이디로, 익명 접속이 가능하도록 기본값
          은 nobody로 설정되어 있으므로 이 값을 그대로 사용한다.
          ⑤ use chroot : path로 지정된 경로를 root 상위 디렉토리로 사용한다. 사용자가 다른 상위
         # 7. rsync 사용
          그러면 rsync의 사용법에 대해서 자세히 알아보자.........
          rsync에서 자주 사용되는 옵션은 -avzr이다. -a 옵션은 아카이브 모드이며, -v 옵션은
          rsync를 이용하여 로컬 시스템의 데이터를 백업하려면 다음과 같은 명령을 사용한다.
          된 데이터를 추가하거나 삭제하고자 할 때 사용하는 데이터 비교 옵션이다.
  • i++VS++i . . . . 19 matches
          * 사용한 컴파일러 : Microsoft 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (Microsoft Visual C++ 6.0 에 Service Pack 5 를 설치했을때의 컴파일러)
         == 그냥 사용 ==
          i++; // 이렇게 하면 차이가 당연히 없지 않을까요? 이럴때는 선행이든 후행이든 증가한뒤에 printf에서 그 변수를 사용했으니..
         == for 문에서 사용 ==
         == 함수 에서 사용 ==
          연산자 재정의를 하여 특정 개체에 대해 전위증가와 후위증가를 사용할 때에는 전위증가가 후위증가보다 효율이 좋다. operator++(int) 함수에서는 임시 객체를 생성하는 부분이 있다.
          ++i, 나 i++ 둘다 상관 없는 상황이라면, ++i에 습관을 들이자, 위의 연산자 재정의는 [STL]을 사용한다면 일반적인 경우이다. 후위 연산자가 구현된 Iterator는 모두 객체를 복사하는 과정을 거친다. 컴파일러단에서 Iterator 의 복사를 최적화 할수 있는 가능성에서는 보장할 수 없다. 따라서, 다음과 같은 경우
         그냥 사용한 경우나, for 문에서 사용한 경우는 ++i 와 i++ 의 성능 차이가 없다. 그러나 함수의 전달인자로 사용한 경우는 ++i 보다 i++ 의 코드가 명령어 한개 정도 길어진다. 하지만 그냥 사용한 경우나 for 문에서 사용한 경우에는 i++ 을 쓴 곳을 ++i 로 서로 바꿔 써도 상관 없으나, 함수의 전달인자로 사용한 경우에는 i++ 을 쓴 곳을 ++i 로 바꾸면 실행 결과가 달라진다. 그러므로 함수에서 i++ 을 사용하고 있을 경우 프로그램이 한 줄 이라도 추가되지 않고 ++i 로 바꿀수 있으면 바꾸는 것이 더 효율적이다. 또한 그냥 사용할 경우나, for 문에서 사용한 경우는 ++i 를 쓰지 않아도 상관 없다. --["상규"]
         여기에서 교과서적인 이야기를 하나 하고 넘어가야 할 것 같다. 루프 안에서 항상 선행 증가를 사용하는 것이 좋은 이유는 무엇일까?
         후행 증가로도 선행 증가와 동일한 방식의 루프를 만드는 것이 가능하지만, 후행 증가를 사용할 특별한 이유가 없다면 항상 선행 증가 또는 선행 감소 연산자를
         사용하는 것이 바람직히다.
  • AcceleratedC++/Chapter11 . . . . 18 matches
         //vector가 사용하는 타입의 이르을 얻는다.
         //vector의 각요소를 살펴보기 위해, size 및 index 연산자를 사용
          템플릿은 함수뿐만 아니라 클래스에서도 사용하는 것이 가능하다.
          템플릿은 단지 틀일 뿐이며, 사용할때 type parameter로 준 형에 따라서 실제의 클래스를 생성한다.
          따라서 어떤 타입이 Vec에서 사용되는진는 정의부가 instiation 되기 전에는 알 수 없다.
          * '''헤더파일에서의 리턴타입이 Vec& 로 사용되었음'''
          템플릿의 스코프 안에서는 타입 매개변수를 생략하는 식의 더 쉬운 표현을 사용할 수 있다.
          * '''this 키워드의 사용'''
          C++은 = 가 객체의 초기화, 복사 시에 동일하게 사용되기 때문에 복사 생성자와, 대입연산자의 구분이 없다.
          = 가 초기화 되지 않은 객체에 사용되면 복사 생성자로, 초기화된 객체에 사용되면 대입 연산자로 사용된다.
          '''리턴값에서의 복사 생성자의 사용, 대입연산자의 사용'''
          default constructor 를 사용하기 위해서는 객체의 멤버들이 디폴트 생성자를 가진 경우에만 정상적인 동작을 보장할 수 있다.
         push_back을 구현함에 있어서 요소 배열의 크기를 키워야하는데 이 것을 위해서 여기서는 필요양 보다 많은 수의 배열을 할당하고 하나씩 변수를 하나더 만들어서 현재 사용가능한 끝을 가리키는데 이용하기로 한다.
         Vec에서 new, delete 키워드를 사용하지 않는다. 배열을 new로 할당하게 되면 기본적으로 생성되는 객체의 디폴트 생성자로 초기화 되기 때문이다. 이는 원래 우리가 의도한 것과는 다른 방식으로 동작한다.
         따라서 우리는 좀더 일반적인 형태의 표준 제공 라이브러리에 존재하는 관리자를 사용한다.
  • AcceleratedC++/Chapter13 . . . . 18 matches
         Grad 클래스는 Core로 부터 파생되었다(Derived from), 상속받았다(inherits from), 혹은 Core는 Grad의 base class 이다 라는 표현을 사용한다.
          private 보호 레이블로 지정된 멤버는 그 클래스 자체, friend 함수를 통해서만 직접적으로 접근이 가능하다. 이 경우 상속된 클래스에서는 부모 클래스의 private 멤버로의 접근이 필요한데 이럴때 '''protected'''라는 키워드를 사용하면 좋다.
          in >> thesis; // thesis는 Core가 아니라 Grad의 멤버 변수이므로 범위 지정 연산자를 사용해서는 안된다.
          Core::grade()를 사용하지 않고 grade()를 사용하게 되면 Grade:grade()를 재귀적으로 호출하여 어떤 결과를 리턴할지 예상하지 못한다.
         상기의 함수는 sort에 의해서 각 요소의 판단식으로 사용되는 함수이다. 이 함수는 부모객체인 Core 객체 뿐만아니라, 자식 객체인 Grad객체도 대입하여 사용하는 것이 가능하다.
         '''Grad 클래스가 사용가능한 이유'''
         다시 말해서 Grad가 Core의 자식 클래스 이므로 Grad객체를 통해서 Core클래스의 함수를 바인딩시켜 사용하는 것이 가능하다는 뜻이다. ''(대신에 이 함수의 안에서는 Grad의 Core 의 요소들만을 취한다.)''
          기본 타입에 대한 포인터나 레퍼런스가 필요한 곳에 파생 타입을 사용할 수 있다는 개념. 하나의 타입을 통해서 여러 함수들 중 하나를 선택하여 호출할 수 있다.
          인자를 전달하면서 생기는 모호함을 피하기 위해서 compare 라는 이름대신에 compare_Core_ptrs를 사용하여 컴파일러가 명시적으로 이 함수를 사용하도록 한다.
          입력과 출력의 각 부분에서 그리고 컨테이너의 요소를 사용할때 포인터를 이용함으로해서 프로그램이 동적바인딩을 이용해서 상당히 간결해진 것을 확인할 수 있다.
          상기와 같이 빈 소멸자를 사용하는 것은 흔한 경우이다. 기본 타입의 소멸자를 virtual 로 만듦으로서 파생 클래스에서 발생하는 기타 요소들을 해제해야할 경우가 많기 때문이다.
          장점으로는 임의 범위를 그 클래스의 범위만큼을 가지기 때문에 클래스 내부에서 사용될때 ::compare와 혼동될 염려가 없다는 것이다.
          // 포인터형인 경우에는 파생 클래스의 포인터를 사용하는 것이 가능하다.
          friend class Student_info; 를 사용함으로해서 Student_info의 모든 멤버함수는 Core의 protected, private에 접근하는 것이 가능하다.
          만약 이런 함수를 virtual 로 정의하고 싶다면 사용하지 않는 인자를 디폴트 인자로 지정해서 만들면 된다.
  • AcceleratedC++/Chapter9 . . . . 18 matches
         C++은 클래스 타입과 같은 사용자가 정의한 어플리케이션 고유의 타입을 정의할 수 있는 많은 기능은 지원한다.
         '''왜 using-선언문을 사용하지 않는가?'''
         string, vector 와 같은 것들은 Student_info의 내부 구현시에 필요한 사항이기 때문에 Student_info를 사용하는 프로그램의 또다른 프로그래머에게까지 vector, string을 std::에 존재하는 것으로 쓰기를 강요하는 것은 옳지않다.
          * s:Student_info 라면 멤버함수를 호출하기 위해서는 s.read(cin), s.grade() 와 같이 함수를 사용하면서 그 함수가 속해있는 객체를 지정해야함. 암묵적으로 특정객체가 그 함수의 인자로 전달되어 그 객체의 데이터로 접근이 가능하게 된다.
          ::를 사용함으로써 호출되는 grade를 객체의 멤버함수가 아니라 전역 grade의 형으로 사용하는 것이 가능하다.
          이전에 사용되었던 compare와 같은 함수를 어떤식으로 정의해야 할 것인가?
          struct 키워드 대신 '''class''' 키워드 사용. '''보호레이블(protection label)''' 사용. 레이블은 순서없이 여러분 중복으로 나와도 무관함.
          || class 키워드를 사용한 클래스 || 기본 보호모드가 private 으로 동작한다. ||
          || struct 키워드를 사용한 클래스 || 기본 보호모드가 public 으로 동작한다. ||
          일반적으로 자료구조가 간단할 때에는 struct를 이용한다. 그러나 2가지 키워드의 사용의 차이는 존재하지 않는다. 단지 문서화를 어떻게 하느냐에 의해 차이가 생길 뿐이다.
          접근함수는 캡슐화의 기본개념이 반하는 것으로 다른 인터페이스 일부로서만 사용해야한다.
          만약 s:Student_info 에 read(istream&)을 통해서 데이터를 입력하지 않고서 s.grade()를 사용한다면 프로그램을 에러를 낼 것이다.
          bool valid() const { return !homework.empty(); } // 사용자에게 그 객체가 유효한 데이터를 가졌는지를 알려준다.
          bool valid() const { return !homework.empty(); } // 사용자에게 그 객체가 유효한 데이터를 가졌는지를 알려준다.
          상기에서 보듯이 : { 사이에 생성자를 명시적으로 사용함으로써 객체를 초기화하는 작업을 하는 중에 0으로 초기화 함으로써 오버헤드를 줄이는 것이 가능하다.
          === 9.5.2 인자를 사용하는 생성자 ===
  • DataCommunicationSummaryProject/Chapter5 . . . . 18 matches
          * Handover : 커버하는 영역 밖으로 벗어날시에 사용자에게 2G 네트워크로 handover한다.
          * 5Mhz의 채널 대역폭 사용
          * cdmaOne과의 차이점 : 시간 동기화가 필요없다. GPS 필요없다. 마이크로셀 사용. negative feedback에 기초한, 보다 쉬운 파워 컨트롤 메카니즘 사용
          * Gold codes라 불리우는, 약간 다른 코딩 테크닉 사용. QPSK
          * QPSK를 사용하는 W-CDMA는 4Mbps를 이룰수 없다. 가능할라면 하나의 셀에 한명의 사용자가 있어야 하고 채널에 간섭이 없어야 한다. 아주 잘나올때, 마이크로셀 내부에서 2Mbps, 외부에서 384kbps 가능하다.
          * 멀티플렉싱은 CDMA. 듀플렉싱은 TDMA(업링크와 다운링크간에 채널 공유를 위해) - 스펙트럼 사용에 있어 가장 좋은 효율을 냄.
          * HSDPA사용 - 구별이 좀 어려움.
          * 새 하드웨어가 필요하지만, 새로운 라디오 인터페이스가 필요없으며, Walsh Codes를 두번 사용해서 두배의 용량을 지원한다.
          * 1xMC의 QPSK대신에 8-PSK(3bit)나 16-QAM(4bit)를 사용
          * IMT2000 의 표준. W-CDMA보다 작은 스펙트럼 사용
          * GSM, GPRS와의 차이점 - 모듈레이션 계획 - 8PSK사용
          * 데이터에만 사용됨(목소리에는 안됨). 많은 컨트롤 채널 생략
          * 3개의 주요 3G 시스템 : W-CDMA, CDMA2000, EDGE. 이것들은 IMT-2000으로 알려진 것으로 묶을수 있으며, 384kbps를 넘는 속도, 패킷 스위칭 방식을 사용한다.
          * 처음 3G 시스템은 2001년에 서비스에 들어갔다. FOMA라 불리우는 W-CDMA의 변종을 사용한 일본에서 가장 떴다. 다른 선구지로는 UMTS를 사용하는 맨섬(어디야 이거?), CDMA2000을 사용하는 남한이 있다.
  • Gof/Facade . . . . 18 matches
         서브시스템의 인터페이스집합에 일관된 인터페이스를 제공한다. Facade는 고급레벨의 인터페이스를 정의함으로서 서브시스템을 더 사용하기 쉽게 해준다.
         이럴때 Facade Pattern을 사용하라.
          * 복잡한 서브 시스템에 대해 단순한 인터페이스를 제공하기 원할때. 서브시스템은 종종 시스템들이 발전되어나가면서 더욱 복잡성을 띄게 된다. 대부분의 패턴들은 패턴이 적용된 결과로 많고 작은 클래스들이 되게 한다. 패턴의 적용은 서브시스템들이 더 재사용가능하고 커스터마이즈하기 쉽게 하지만, 커스터마이즈할 필요가 없는 클라이언트들이 사용하기 어렵게 만든다. Facade는 서브시스템에 대한 단순하고 기본적인 시각을 제공한다. 이러한 시각은 대부분의 클라이언트들에게 충분하다. 커스터마이즈가 필요한 클라이언트들에게만이 facade를 넘어서 볼 필요가 있는 것이다.
          * 서브시스템에 계층을 두고 싶을 때. 각 서브시스템 레벨의 entry point를 정의하기 위해 facade를 사용하라. 만일 각 서브시스템들이 서로 의존적이라면 서브시스템들간의 대화를 각 시스템간의 facade로 단일화 시킴으로서 그 의존성을 단순화시킬 수 있다.
          facade 를 사용하는 클라이언트는 직접 서브시스템 객체에 접근할 필요가 없다.
          3. 그러하면서도 어플리케이션은 여전히 서스시스템 클래스들을 사용할 방법을 제공한다. 사용의 편리성과 일반성을 선택할 수 있다.
         그러면 클라이언트는 추상 Facade class의 인터페이스를 통해 서브시스템과 대화할 수 있다. 이러한 추상클래스와의 연결은 클라이언트가 사용할 서브시스템의 구현을 알아야 하는 필요성을 없애준다.
         Parser 클래스는 Scanner의 token로 parse tree를 구축하기 위해 ProgramNodeBuilder 를 사용한다.
         Traverse operaton은 CodeGenerator 객체를 인자로 취한다. ProgramNode subclass들은 BytecodeStream에 있는 Bytecode객체들을 machine code로 변환하기 위해 CodeGenerator 객체를 사용한다. CodeGenerator 클래는 visitor이다. (VisitorPattern을 참조하라)
         이 구현에서는 사용하려는 code-generator의 형태에 대해서 hard-codes (직접 특정형태 부분을 추상화시키지 않고 바로 입력)를 했다. 그렇게 함으로서 프로그래머는 목적이 되는 아키텍처로 구체화시키도록 요구받지 않는다. 만일 목적이 되는 아키텍처가 단 하나라면 그것은 아마 이성적인 판단일 것이다. 만일 그러한 경우가 아니라면 우리는 Compiler 의 constructor 에 CodeGenerator 를 인자로 추가하기 원할 것이다. 그러면 프로그래머는 Compiler를 instance화 할때 사용할 generator를 구체화할 수 있다. Compiler facade는 또한 Scanner나 ProgramNodeBuilder 등의 다른 협동하는 서브시스템클래스를 인자화할 수 있다. 그것은 유연성을 증가시키지만, 또한 일반적인 사용형태에 대해 인터페이스의 단순함을 제공하는 Facade pattern의 의의를 떨어뜨린다.
         Choices operating system [CIRM93] 은 많은 framework를 하나로 합치기 위해 facade를 사용한다. Choices에서의 key가 되는 추상객체들은 process와 storge, 그리고 adress spaces 이다. 이러한 각 추상객체들에는 각각에 대응되는 서브시스템이 있으며, framework로서 구현된다. 이 framework는 다양한 하드웨어 플랫폼에 대해 Choices에 대한 porting을 지원한다. 이 두 서브시스템은 '대표자'를 가진다. (즉, facade) 이 대표자들은 FileSystemInterface (storage) 와 Domain (address spaces)이다.
         AbstactFactory 는 Facade구현시 서브시스템 독립적인 방법으로 서브시스템 객체를 만들 수 있는 인터페이스를 제공하기 위해 사용한다. Abstract Factory는 또한 플랫폼 비독립적 클래스를 감추기 위해 Facade의 대안으로서 사용할 수 있다.
         Mediator 는 존재하는 class들의 기능들을 추상화시킨다는 점에서 Facade와 비슷하다. 하지만 Mediator의 목적은 정해지지 않은 동료클래스간의 통신을 추상화시키고, 해당 동료클래스군 어디에도 포함되지 않는 기능들을 중앙으로 모은다. Mediator의 동료클래스들은 Mediator에 대한 정보를 가지며 서로 직접적으로 통신하는 대신 mediator를 통해 통신한다. 대조적으로 facade는 단지 서브시스템들을 사용하기 편하게 하기 위해서 서브시스템들의 인터페이스를 추상화시킬 뿐이다. facade는 새로운 기능을 새로 정의하지 않으며, 서브시스템 클래스는 facade에 대한 정보를 가질 필요가 없다.
  • Linux/디렉토리용도 . . . . 18 matches
         리눅스의 디렉토리 구조를 이해하기 전에 마운트라는 개념을 이해해야할 필요가 있다. 리눅스는 모든 파티션을 /(이하 루트)에 포인터를 통해 연결한 마운트의 개념을 통해서 접근을 할 수 있다. 따라서 모든 디렉토리를 각기다른 장치 각기 다른 파티션에 나누어 넣어서 따로 보관할 수 있으며 데이터가 직접 보관되는 디스크를 따로 마운트해서 나중에 시스템을 다시 설치할때에 그 파티션만 지우지 않고 후에 마운팅하는 용도로 사용이 가능하다.
          * 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리
          * /etc/skel : 새로운 사용자를 추가할 때 자동적으로 생성되는 디렉토리와 파일이 있음.
         아파치를 비롯한 모든 서버의 환경설정 파일이 관리 되는 곳이다. 물론 사용자가 직접 바이너리로 설치했을 경우에는 이 곳에 위치하지 않을 수도있다. 그러나 대부분 패키지 관리자를 통해서 설치된 프로그램의 경우 이곳에서 설정이 가능하다. 직접 설치를 하는 경우라면 '''X11, apache2, init.d, rc.*, skel, xinitd.d''' 디렉토리를 많이 다루게 된다.
          * /var/spool/mail : 수신 메일을 사용자 명으로 기록하는 디렉토리'''
          * 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치.
         '''- 다른 장치들을 마운트 할때 일반적으로 사용하는 디렉토리
         - 다른 디렉토리를 사용하여도 됨.'''
         '''- 일반 사용자의 홈 디렉토리가 만들어 지는 디렉토리
         - 사용자 계정을 만들면 게정과 같은 이름으로 새로운 사용자 디렉토리가
         예) test 사용자 추가 후 홈 디렉토리 확인하기.
         root계정이외의 계정에 할당되는 곳이다. 서버의 사용자들을 이 디렉토리 및에
          * 슈퍼유저(root) 사용자의 홈 디렉토리.
         실제 파티션을 분할할때에는 어떤 목적으로 프로그램을 이용하는지에 대한 이해가 필요하다. 처음 설치하는 사용자의 경우에는 전체 파티션을 단일 파티션으로 잡고 설치를 해도 무방하지만 다중 사용자 계정을 지원할 용의가 있는 경우에는
         || /home || 10G/30G || 사용자가 몇명이나 이용할지에 대해서 대략적인 추정을 통해 할당한다. quota 기능을 이용하면 각 사용자별로 할당되는 공간을 지정가능 ||
  • ProgrammingWithInterface . . . . 18 matches
         책에서는 말한다. 많은 개발자들이 [[OOP#s-1.2|인터페이스]] 보다는 [[OOP#s-1.2|상속]]을 사용하여 개발한다고... 그렇다! 사실이다. 나도 여지껏 인터페이스로 무장한 코드를 보지 못했다.
         언제나 개발을 할 때 '어라~ 같은 일 하는데? 이거 Base 클래스 만들어서 위로 올려야 겠는데?' 일말의 틈도 주지 않고 실행한다. 다형성을 사용하는 코드를 생성한다. '와우~! 한결 깔끔해 졌는걸?' 하지만 오산이었다. 시간이 지나서 먼가 추가할 동작들이 생겼다. 이제 고치기 시작한다. Base 클래스 부터... 고치고 나니 컴파일이 되지 않는다. 코드 수정의 여파가 하위 클래스들에게 까지 미친다. 정말 미친다. 이런 상속을 통한 계층 구조는 상위 클래스와 하위 클래스의 결합도를 높여준다. 지나 치게 크게..! 동감하지 않는가? 하나를 고쳤는데 수정할 꺼리가 마구 쏟아지는 상황을...
         상속을 사용하는 상황을 국한 시켜야 할 것같다. 상위 클래스의 기능을 100%로 사용하면서 추가적인 기능을 필요로 하는 객체가 필요할 때! .. 이런 상황일 때는 상속을 사용해도 후풍이 두렵지 않을 것 같다. GoF의 책이나 다른 DP의 책들은 항상 말한다. 상속 보다는 인터페이스를 통해 다형성을 사용하라고... 그 이유를 이제야 알 것같다. 동감하지 않는가? Base 클래스를 수정할 때마다 하위 클래스를 수정해야 하는 상황이 발생한다면 그건 인터페이스를 통해 다형성을 지원하는게 더 낫다는 신호이다. 객체는 언제나 [[SOLID|SRP (Single Responsiblity Principle)]]을 지켜야 한다고 생각한다.
         Holub이 사용하는 예제를 보자. 상속을 사용해 [Stack]을 구현한다.
         완벽한 Stack이다. 하지만 다음 코드를 사용하면 우리는 Stack 객체가 어떻게 돌아갈지 예측 할 수 없다.
         자 모든 값을 clear 를 사용해 삭제했는데 topOfStack의 값은 여전히 3일 것이다. 자 상속을 통한 문제를 하나 알게 되었다. 상속을 사용하면 원치 않는 상위 클래스의 메소드까지 상속할 수 있다 는 것이다.
         상위 클래스가 가지는 메소드가 적다면 모두 [오버라이딩]하는 방법이 있지만 만약 귀찮을 정도로 많은 메소드가 있다면 오랜 시간이 걸릴 것이다. 그리고 만약 상위 클래스가 수정된다면 다시 그 여파가 하위 클래스에게 전달된다. 또 다른 방법으로 함수를 오버라이딩하여 예외를 던지도록 만들어 원치않는 호출을 막을 수 있지다. 하지만 이는 컴파일 타임 에러를 런타임 에러로 바꾸는 것이다. 그리고 LSP (Liskov Sustitution Principle : "기반 클래스는 파생클래스로 대체 가능해야 한다") 원칙을 어기게 된다. 당연히 ArrayList를 상속받은 Stack은 clear 메소드를 사용할 수 있어야 한다. 그런데 예외를 던지다니 말이 되는가?
         Stack을 구현하는 다른 방법은 상속 대신 [캡슐화]를 사용하는 것이다.
         자.. Stack과 ArrayList간의 결합도가 많이 낮아 졌다. 구현하지 않은 clear 따위 호출 되지도 않는다. 왠지 합성을 사용하는 방법이 더 나은 것 같다. 이런 말도 있다. 상속 보다는 합성을 사용하라고... 자 다시 본론으로 들어와 저 Stack을 상속하는 클래스를 만들어 보자. MonitorableStack은 Stack의 최소, 최대 크기를 기억하는 Stack이다.
         깔끔한 코드가 나왔다. 하지만 MonitorableStack은 pushMany 함수를 상속한다. MonitorableStack을 사용해 pushMany 함수를 호출하면 MonitorableStack의 입력 받은 articles의 articles.length 만큼 push가 호출된다. 하지만 지금 호출된 push 메소드는 MonitorableStack의 것이라는 점! 매번 size() 함수를 호출해 최대 크기를 갱신한다. 속도가 느려질 수도 있다. 그리고 만약 누군가 Stack의 코드를 보고 pushMany 함수의 비 효율성 때문에 Stack을 밑의 코드와 같이 수정했다면 어떻게 될 것인가???
         와!~ 예전의 Stack보다 성능은 확실히 좋아 졌을 것이다. 그런데 문제가 발생했다. 더이상 pushMany 메소드에서 push 메소드를 호출하지 않는다. 이렇게 되면 MonitorableStack은 더이상 Stack의 최대 크기를 추적하지 못하게 된다. 예기치 않은 결과이다. 상속을 사용한 구현으로 발생한 문제이다. 여기까지 글을 (책의 내용) 읽었다면, 아마 '상속을 사용하기 전에 한번 더 생각하는게 좋겠다' 라는 생각을 가슴 깊이 느꼈을 것이다. 아니면 별수 없는 일이다... :(
  • 새싹교실/2012/개차반 . . . . 18 matches
          * 현재 사용되는 모든 컴퓨터에 적용되는 범용 컴퓨터 구조
          * 이미 존재하는 함수를 가져다 쓰려 할 때 헤더파일을 불러와서 사용한다
          * int는 정수를 나타내고자 할 때 사용하며 출력시 %d를 사용
          * float는 소수점 아래의 숫자까지 표현하고자 할 때 사용하며 출력시 %f를 사용
          * char는 문자를 나타내고자 할 때 사용하며 출력시 %c를 사용
          * 변수의 이름으로 사용할 수 없다
          * 수를 이진법으로 표현 시 양수/음수를 구분하기 위해 사용되는 맨 앞자리 0을 수를 표현하는 데에 사용하여 두 배 많은 수를 표현
          * int의 표현 범위=4byte=32bit=2^32 에서 맨 앞자리 0을 제외한 나머지가 사용되므로 -2^31 ~ 2^31-1 개의 숫자를 표현할 수 있다
          * #define 으로 사용
          * 자신이 지정하는 문자열에 특정한 값 등을 지정해두고 사용할 수 있다
          * 변수에게 값을 주기 위해 사용된다
          * Postfix 일 경우 변수 뒤에 Decrement/Increment operator를 사용하며 다른 계산이 끝난 후 적용된다
          * Prefix 일 경우 변수 앞에 Decrement/Increment operator를 사용하며 다른 계산을 실행하기 전에 적용된다
          * 계산 과정에 같은 변수가 포함되어 있을 경우 축약 연산자를 사용할 수 있다
  • 졸업논문/본론 . . . . 18 matches
         웹 애플리케이션 개발자가 가장 많이 쓰는 기능은 SQL을 이용하여 데이터베이스 내용을 삽입, 삭제, 수정, 조회하는 것이다. 그 중에도 데이터를 조회하는 SQL문은 다양한 구조를 가진다. 기본 구조는 select from 이다. 여기서 from절에 테이블이 여러 번 나오는 경우 조인 연산을 수행한다. 조인 연산은 다른 테이블 또는 같은 테이블끼리 가능하다. select from where문을 사용하면 where절에 있는 조건을 만족하는 데이터만 조회한다. aggregate function을 사용하면 원하는 결과를 좀더 쉽게 얻을 수 있다. 이에는 개수(count), 합계(sum), 최소(min), 최대(max), 평균(avg)이 있다. aggregate function에 group by문을 사용하면 그룹 단위로 결과를 얻는다. group by절에는 having을 이용해 조건을 제한할 수 있다. 또한 순서를 지정하는 order by문과 집합 연산인 union, intersect, except 등이 있다. where절 이하에 다시 SQL문이 나타나는 경우를 중첩질의라고 한다. 중첩 질의를 사용할 때는 특별히 (not) exist, (not) unique와 같은 구문을 사용할 수 있다.
         데이터를 삽입,삭제,변경할 때는 조회하는 SQL에 비해 하면 단순하다. 삽입에는 insert into value 구문을, 삭제는 delete from where구문을, 변경은 update set where구문을 사용한다. 삭제와 변경시에는 중첩 질의를 사용할 수 있다.
         Django는 오픈 소스 프로젝트로 code.djangoproject.com/browser/django 에서 전체 소스코드를 확인할 수 있다. 문서에 따르면 django 데이터베이스 API는 "SQL문을 효율적으로 사용하고, 필요할 때는 알아서 join연산을 수행하는 강력한 구문을 가졌으며, 사용자가 필요할 경우 직접 SQL문을 작성할 수 있도록 지원"[5]한다. 추상화된 구문을 사용하더라도 데이터는 관계형 데이터베이스에 저장하게 되는데, MS SQL, MySQL, Oracle, PostgreSQL, SQLite3와 같은 DBMS를 사용할 수 있다.
         Django는 도메인 언어인 python의 영향을 많이 받는다. Python은 "동적인 객체지향"[10] 언어로 많은 소프트웨어르 만드는 데 사용할 수 있으며, django와 같이 소프트웨어를 만드는 프레임워크로도 널리 쓰인다. 이미 NASA에서 python을 사용하고 있으며, Google에서는 python을 java와 더불어 주류언어로 사용하고 있다. Django가 데이터베이스를 추상화하고, 개발 도중에 변경 사항을 자동화하여 처리할 수 있는 까닭도 python에 있다.
         Django의 설계 철학은 한 마디로 DRY(Don't Repeat Yourself)이다. 확연히 구분할 수있는 데이터는 분리하고, 그렇지 않은 경우 중복을 줄이고 일반화한다. 데이터 뿐 아니라 개발에 있어서도 웹 프로그래밍 전반부와 후반부를 두 번 작업하지 않는다. 즉 웹 애플리케이션 개발자는 SQL을 사용하는 방식이 도메인 언어에 제공하는 프레임워크에 숨어 보이지 않기 때문에 프로그램을 동적으로 쉽게 바뀔 수록 빠르게 개발할 수 있다. 또한 후반부 데이터 모델이 바뀌면 프레임워크에서 전반부에 사용자에게 보이는 부분을 자동으로 바꾸어준다. 이러한 설계 철학을 바탕으로 기민하게 웹 애플리케이션을 개발할 수 있다.
         기본적으로 지원 되는 레코드 삽입, 삭제, 변경은 자동으로 사용자 화면까지 만들어주는 장점을 가진다. 대부분 웹 애플리케이션이 레코드를 한 건씩 입력하는 인터페이스를 가지기 때문에, 개발 전반부에 걸친 데이터 삽입, 삭제, 변경을 자동화할수 있기 때문이다. 특히 삽입, 변경은 저장이란 단일 개념으로 보고 save메소드로 추상화하였다. 또한 삭제는 관련된 레코드를 함께 지워주는 기능까지 제공한다. 이러한 기능은 Model클래스에 정의된 데이터 타입에 따라 자동으로 이루어진다. 따라서 삽입, 삭제, 변경 SQL문을 실행하는 인터페이스에 많은 노력을 기울이지 않고 기민하게 전체 시스템을 설계함에 집중할 수 있다.
         레코드를 검색할 때는 기본적으로 간단한 질의를 처리할 수 있는 함수들을 제공한다. 앞서 살펴본 바와 같이 직접 관계를 가지는 테이블 사이에 조인 연산은 Model클래스의 메소드를 이용해서 추상화되어 있다. 하지만 그 밖인 경우에는 직접 SQL문을 작성하여 데이터를 얻어와야 하기 때문에 django를 사용하더라도 큰 이점이 없다. 또한 추상화된 Model클래스의 메소드는 기본적으로 모든 레코드 속성을 읽어오기 때문에 시간, 공간 측면에서 비효율적일 수 있다. 마지막으로 SQL의 aggregate function등을 대부분 추상화하지 않았기 때문에, 이 역시 SQL문을 작성해야 하는 번거로움이 있다.
  • 02_C++세미나 . . . . 17 matches
         // 구조체는 사용자 정의 데이터 형이다. 구조체를 설정해 놓으면 그것을 int나 long같은 기본 데이터형처럼 쓸수있다. 예제를 봅시다.
         여러가지로 말이 많았는데 이쯤에서 포인터의 쓰임에 대해 간략하게나마 설명하겠다. 포인터의 이론적인 정의는 무엇인가. 바로 '메모리의 주소를 가지고있는 변수'란 것이다. 그건, 동시에 포인터를 이용하면 그 해당하는 메모리로의 직접적인 접근과 제어가 가능하다는 뜻이다. 그렇다면 포인터의 역활은 메모리로의 직접적인 억세스가 되는것이고, 여기에 포인터의 연산을 통해 거의 어셈블리언어에 가까운정도의 저수준 메모리 제어를 가능케 한다. 바로 그것이 포인터의 존재이유이며 쓰임이다. 이런 이론적인 포인터의 쓰임 말고, 직접적인 강함의 체험을 원한다면, 여러분이 직접 사용해볼것을 권한다.
         정수형 변수는 int를 사용해 만든다.
         문자형 변수는 char를 사용해 만든다.
         (int *) pi; /* 이런 식으로 사용하면 좀더 명확하다. 정수의 포인터라는. */
         이렇게 만들면, a는(*a가 아니다. 정의할때만 *를 붙여야 한다. 사용할땐 a로 쓴다)
          * 포인터의 사용
         그럼 포인터를 어떻게 사용하는지 알아보기로 하자.
         포인터를 사용하는데는 두가지 연산자가 사용된다.
         &는 어떤 변수에 주소를 얻어내는데 사용된다. 어떤 변수가 있을때 그 변수 앞에 &를 붙이면 그것은 그 변수의 메모리 주소가 된다.
         &는 일반적으로 정수형 변수나 문자형 변수 등과 같이 포인터가 아닌 변수들을 대상으로 사용하지만... 포인터를 대상으로 사용할 수도 있다.
         *는 포인터를 대상으로만 사용되는 연산자인데, 포인터에 저장되어 있는 메모리 주소에 보관되어 있는 값을 엑세스할때 사용한다.
         포인터를 사용하면 이런 것이 가능해진다.
         이와같이 함수 호출에서 주소를 사용해 전달 인자를 넘겨주는 방법을
  • DataCommunicationSummaryProject/Chapter4 . . . . 17 matches
          * Noncelluar - 긴급 서비스, 대형 사업에 사용.
          * 일찍 표준화 되어서 많이 사용
          * FDD 사용
          * 4개의 slot 사용
          * 사용 못함
          * GSM에서 Packet Data 사용할 수 있게 업그레이드
          * 미국에서 사용하는 anlog AMPS에서 digital로 업그레이드
          * 30 KHz 채널 사용
          * 25 KHz 채널 사용 (이미 넓은 밴드를 다른 데에 줘서 작게 사용)
          * CDMA 사용
          * Walsh Code 사용 (64비트)
          * Walsh Code 여러 개 사용
          * 바다 위에서는 위성 사용, 대륙 위에서는 큰 기지국 (Cell Size: 300Km)
          * TDMA는 단지 시간의 일부로 각각의 사용자들에게 전송이나 받는걸 허용한다. 각각의 사용자에게 가능한 수용능력은 더 많은 타임 슬롯을 할당흠으로써 늘릴수 있다.
          * PMR은... (해석 안됨) 그것은 많은 PMR 터미널의 주인들이 그들을 일반적인 셀 전화기로 사용함에도 불구하고, 보다 빠른 콜 셋업과 다른 것들, 회의 콜링 같은 것들을 제공한다.
  • MoreEffectiveC++/Exception . . . . 17 matches
          * Item 9: 자원이 새는걸 막는 파괴자를 사용해라.
         방법은 올바르다. 예외시에 해당 객체를 지워 버리는것, 그리고 이건 우리가 배운 try-catch-throw를 충실히 사용한 것이다. 하지만.. 복잡하지 않은가? 해당 코드는 말그대로 펼쳐진다.(영서의 표현) 그리고 코드의 가독성도 떨어지며, 차후 관리 차원에서 추가 코드의 발생시에도 어느 영역에 보강할것 인가에 관하여 문제시 된다.
         그래서 더 좋은 방법은 Item 9에서 언급한 방법을 사용하는 것이다.
         주석에 되어 있는데로, 생각해 보라. throw가 복사생성자를 호출하지 않아서 효율적이다. 그리고 throw는 어떠한 형이든 예외를 전달한는데 상관하지 않는다. 하지만, 사실 예외자체가 그 형에 맞게 던져지므로 걱정이 없다. 하지만 catch문에서 예외를 던지는 객체의 형태를 바꿀 필요성이 있을때 후자를 사용해야 겠다.
         우리는 지금까지 복사에 의한 지불을 생각할수 있는데 참조의 전달은 반대로 복사하는 작업이 없다. 즉, 한번의 복사 이후 계속 같은 객체를 사용하게 되는 셈이다.
         를 이렇게 사용 할수 있다.
         catch 구문을 사용할때 해당 구문을 통해서 전달받은 예외 객체들을 받는 방법을 잘알아야 한다. 당신은 세가지의 선택을 할수 있다. 바로 전 Item 12에서 언급한 것처럼 값(by value), 참조(by reference), 포인터(by pointer)이렇게 세가지 정도가 될것이다.
          * Item 14: 예외를 신중하게 사용하라.
         unexpected에 관련한 기본적인 행동은 terminate를 호출해서 terminate내에서 abort를 호출로 강제로 프그램을 멈추게 한다. 이 의미는 바로 abort는 프로그램을 종료할때 깨끗이 지우는 과정을 생략하기 때문에 활성화된 스택 프레임내의 지역 변수는 파괴되지 않는다.(즉, 프로그램이 멈추고 디버그시 그 상황에 현재의 자료 값을 조사할수 있다는 의미). 그래서 예외 처리의 명세을 어긴 문제는 상당히 심각한 상황이나, 거의 발생하지 않은 상황이다. 불행히도 그런 심각한 상황을 이르게 하는 함수 작성이 용이하다는게 문제이다. 컴파일러는 오직 예외 명세에 입각한대로 부분적으로 예외 사용에 관한 검사를 한다. 예외가 잡을수 없는것-언어 표준 상에서 거부하는(비록 주의(wanning)일지라도) ''금지하는'' 것- 은 함수를 호출할때 예외 명세에서 벗어나는 함수일것이다.
         자 이런것들이 예외 명세를 현명하게 사용하는데 일조할 것이다. 당신의 함수에 예외를 더하기 전에 이런 사항에 대하여 한번쯤 생각해 보자.
         실행시간에 예외 핸들링을 위하여 프로그래머는 한쌍의 코드를 입력해야 한다. 예외 중에 각자의 포인트에 프로그래머는 각 try블럭에 들어가는 부분과 나오는 부분따위의 예외가 던저질때 객체 파괴의 필요성을 확인해야만 한다. 그리고 각 try 블록에서 프로그래머는 catch구문의 연계와 그들과 관계되어 있는 예외 객체의 종류에 대하여도 생각해 주어야 한다. 이런 것들은 결코 공짜가 아니다. 실행시간동안에 예외 명세에 대한 확인 작업도 그러며, catch구문에 객체가 던져 짔을때 객체의 파괴 부분에 대한 일도 역시 확장된다. 하지만, 만약 당신이 try, throw, catch키워드를 사용하지 않는다면 예외 핸들링에해단 비용은 발생하지 않고, 해당 키워드들에 대한 비용 지불도 미미한 양이다.
         '''자 그럼 전혀 예외 핸들링을 하지 않았을때의 지불 비용을 생각해 보자,''' 당신은 객체들이 적재되고, 유지되는 트랙이 필요한 데이터 구조의 사용을 위해 공간에 대한 비용 지불을 한다. 그리고 당신은 이런 데이터 구조들을 갱신하고 유지하는데 필요한 시간에 대한 비용을 지불한다. 이런 비용들은 일반적으로 정당한 요구이다. 반면에 프로그램이 예외를 위한 지원이 없이 컴파일 된다면 예외 지원을 하고 컴파일 하는 반대의 경우보다 좀더 빠르고, 좀더 작은 용량을 차지한다.
         프로그램은 일반적으로 독립적으로 object 파일들이 생성되어 지고, 단지 하나의 작성되어 만들어진 object파일에서 예외 처리가 없다면 다른 것들상의 예외 처리가 아무런 의미가 없기때문에, 당신이 예외처리코드를 사용하지 않는다면, 당신은 컴파일러 제작사들이 이런 예외들을 지원시 일어나는 비용을 없앨 것이라고 예상한다. 게다가 object파일이 예외를 빼기위해 아무런 상호간의 링크가 되지 않는다면 예외 처리가 들어간 라이브러리와의 링크는 어떨까? 즉, 프로그램의 어떤 부분이라도 예외를 사용한다면 나머지 프로그램의 부분들도 예외를 지원해야 한다. 이런 부분적 예외 처리 상황은 실행시간에 정확한 예외를 잡는 수행이 불가능 하게 만들것이다.
         물론 저것은 이론이다. 실질적으로 예외 지원 밴더들은 당신이 예외 작성을 위한 코드의 첨가를 당신이 예외를 지원하느냐 마느냐에 따라 조정할수 있도록 만들어 놓았다.(작성자주:즉 예외 관련 처리의 on, off가 가능하다.) 만약 당신이 당신의 프로그램의 어떠한 영역과, 연계되는 모든 라이브러리에서 try, throw, catch를 빼고 예외 지원 사항을 빼고 당신 스스로 속도, 크기 같은 예외처리시 발생하는 단점을 제거할수 있을 것이다. 시감이 지나 감에 따라 라이브러리에 차용되는 예외의 처리는 점점 늘어나게 되고, 예외를 제거하는 프로그래밍은 갈수록 내구성이 약해 질것이다. 하지만, 예외처리를 배제한 컴파일을 지원하는 현재의 C++ 소프트웨어 개발상의 상태는 확실히 예외처리 보다 성능에서 우위를 점한다. 그리고 그것은 또한 예외 전달(propagate) 처리와, 예외를 생각하지 않은 라이브러리들의 사용에 무리없는 선택이 될것이다.
         그렇지만 잠깐, 내가 이런것에 관해서 어떻게 아냐구? 만약 예외를 위한 지원은 최근의 컴파일러와 ㄷ컴파일러간에 다른 방식으로 진행된다면서 비용이 5-10%떨어지고 스피드 역시 비슷하게 떨어지고 세개 명령어 정도 늘어나는 것과 같은 성능 저하에 관한 위의 언급 이런것에 관한 출처들? 아마 내가 해줄수 있는 답변은 다소 놀랄것이다.:당신이 try블록과 예외 스펙을 사용을 필요한 곳만 사용하도록 제한해라;그리고 컴파일 해봐라, 그래도 설계상에 문제가 있다면 일단 자신의 설계를 다시 그려보고 생각해 보라, 거기에다, 여기저기 다른 벤더들의 컴파일러로 컴파일 해봐라 그럼 알수 있다.
  • 새싹교실/2012/세싹 . . . . 17 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          * wiki를 왜 쓰는지, 어떻게 사용하는지에 대해 배웠습니다.
          * wiki 사용법 익히기
          1) gcc 컴파일 옵션이 어려웠습니다. - gcc 컴파일 옵션의 대부분은 컴파일에 크리티컬한 것이 아니라 사용자에게 정보를 제공하는 것이 목적입니다. 그냥 안써도 되요 :D
          1) 우리가 사용하는 인터넷은 패킷 스위치 방식으로 소포에 주소를 써서 목적지에 보내는 것 처럼 작동하는 네트워크 입니다.
          - app : 우리가 실제로 사용하는 서비스를 제공하는 계층입니다. http, smtp, ftp등이 있습니다.
          - 이런 기능들을 단계별로 나눈 이유는, 자신의 하위 계층의 구현내용이 어떤지 잘 몰라도 그 기능을 사용할 수 있도록 하기 위해서입니다.
          4) 리눅스 환경에서 gcc를 사용해 봅시다.
          - thread를 이용하여 서버와 클라이언트를 한 어플리케이션 안에서 사용하는
          - thread가 어떤 것인지 왜사용하는지 어떻게 사용하는지 간단히 소개하였습니다.
          * CreateFile함수를 처음 사용하여보았습니다. - [김희성]
          * ReadFile의 overlap인자 사용법이 나와있는 곳을 찾기 힘듭니다 ;ㅅ;
          * CreateFile함수 사용시 문자열이 LPCWSTR로 변환되지 않는 문제가 생기는 경우에는 CreateFileA를 사용해보세요.
          -4;//사이즈를 읽기위해 사용한 4바이트를 제외한다.
          -4;//사이즈를 읽기위해 사용한 4바이트를 제외한다.
  • Gof/Singleton . . . . 16 matches
         SingletonPattern은 다음과 같은 경우에 사용한다.
          * 단일 인스턴스가 서브클래싱에 의해 확장가능해야 할 경우. 그러면 클라이언트는 그들의 코드 수정없이 확장된 인스턴스를 사용할 수 있어야 한다.
          4. 여러개의 인스턴스를 허용한다. 프로그래머의 마음에 따라 쉽게 Singleton class의 인스턴스를 하나이상을 둘 수도 있도록 할 수 있다. 게다가 어플리케이션이 사용하는 인스턴스들을 제어하기 위해 동일한 접근방법을 취할 수 있다. 단지 Singleton 인스턴스에 접근하는 것을 보장하는 operation만 수정하면 된다.
          5. class operation 보다 더 유연하다. 패키지에서 Singleton의 기능을 수행하기위한 또다른 방법은 class operation들을 사용하는 것이다. (C++에서의 static 함수나 Smalltalk에서의 class method 등등) 하지만, 이러한 언어적인 테크닉들은 여러개의 인스턴스를 허용하는 디자인으로 바꾸기 힘들어진다. 게다가 C++에서의 static method는 virtual이 될 수 없으므로, subclass들이 override 할 수 없다.
         SingletonPattern 을 사용할 때 고려해야 할 사항들이 있다.
         1. unique instance임을 보증하는 것. SingletonPattern의 경우도 일반 클래스와 마찬가지로 인스턴스를 생성하는 방법은 같다. 하지만 클래스는 늘 단일 인스턴스가 유지되도록 프로그래밍된다. 이를 구현하는 일반적인 방법은 인스턴스를 만드는 operation을 class operations으로 두는 것이다. (static member function이거나 class method) 이 operation은 unique instance를 가지고 있는 변수에 접근하며 이때 이 변수의 값 (인스턴스)를 리턴하기 전에 이 변수가 unique instance로 초기화 되어지는 것을 보장한다. 이러한 접근은 singleton이 처음 사용되어지 전에 만들어지고 초기화됨으로서 보장된다.
         클래스를 사용하는 Client는 singleton을 Instance operation을 통해 접근한다. _instance 는 0로 초기화되고, static member function 인 Instance는 단일 인스턴스 _Instance를 리턴한다. 만일 _instance가 0인 경우 unique instance로 초기화시키면서 리턴한다. Instance는 lazy-initalization을 이용한다. (Instance operation이 최초로 호출되어전까지는 리턴할 unique instance는 생성되지 않는다.)
         약간 첨언을 하면, global/static 객체의 접근은 singleton들이 사용되건 사용되지 않건 간에 모든 singleton이 만들어지도록 한다는 것이다. static member function 를 사용함으로서 이러한 모든 문제들을 피할 수 있다.
         2. Singleton class를 subclassing 하기 관련. 주된 주제는 클라이언트가 singleton 의 subclass를 이용할 수 있도록 subclass들의 unique instance를 설정하는 부분에 있다. 필수적으로, singleton 인스턴스를 참조하는 변수는 반드시 subclass의 인스턴스로 초기화되어져야 한다. 가장 단순한 기술은 Singleton의 Instance operation에 사용하기 원하는 singleton을 정해놓는 것이다. Sample Code에는 환경변수들을 가지고 이 기술을 어떻게 구현하는지 보여준다.
         자, 이제 MazeFactory의 subclassing에 대해 생각해보자. MazeFactory의 subclass가 존재할 경우, application은 반드시 사용할 singleton을 결정해야 한다. 여기서는 환경변수를 통해 maze의 종류를 선택하고, 환경변수값에 기반하여 적합한 MazeFactory subclass를 인스턴스화하는 코드를 덧붙일 것이다. Instance operation은 이러한 코드를 구현할 좋은 장소이다. 왜냐하면 Instance operation은 MazeFactory를 인스턴스하는 operation이기 때문이다.
         가능한 해결책으로는 Implementation에서 언급한 registry approach를 사용하는 것이다. Dynamic linking 방법도 또한 유용한 방법이다. Dynamic linking 은 application으로 하여금 사용하지 않는 subclass 도 전부 load해야 할 필요성을 덜어준다.
         InterViews user interface toolkit[LCI+92]는 toolkit의 Session과 WidgetKit 클래스의 unique instance에 접근하지 위해 SingletonPattern을 이용한다. Session은 application의 메인 이벤트를 dispatch하는 루프를 정의하고 사용자 스타일관련 데이터베이스를 저장하고, 하나나 그 이상의 물리적 display 에 대한 연결들(connections)을 관리한다. WidgetKit은 user interface widgets의 look and feel을 정의한다. WidgetKit::instance () operation은 Session 에서 정의된 환경변수에 기반하여 특정 WidgetKit 의 subclass를 결정한다. Session의 비슷한 operation은 지원하는 display가 monochrome display인지 color display인지 결정하고 이에 따라서 singleton 인 Session instance를 설정한다.
         많은 pattern들이 SingletonPattern을 사용하여 구현될 수 있다. AbstractFactoryPattern, BuilderPattern, PrototypePattern을 참조하라.
  • HelpOnMacros . . . . 16 matches
         매크로는 위키 페이지에 특수한 기능을 집어넣는 확장입니다. 대부분의 위키페이지는 매크로기능을 사용하지 않고 있지만 경우에 따라서 이러한 특수한 기능이 필요할 때가 있습니다. 예를 들어 RecentChanges 페이지에는 RecentChanges매크로를 사용하고 있고, SystemInfo 페이지에는 SystemInfo 매크로를 사용하고 있습니다. 각 페이지를 편집하거나 [[Icon(info)]]를 눌러 이전 정보로부터 페이지 소스를 보시면 매크로를 어떻게 사용하고 있는지를 보실 수 있습니다.
         매크로는 {{{[[MacroName]]}}}과 같은 문법을 사용합니다. 매크로에 대한 인자가 필요한 경우가 있는데 각 매크로에 대한 자세한 설명은 해당 페이지에서 확인하실 수 있습니다.
         {{{[[MacroName]]}}} 혹은 인자가 필요한 경우에는 {{{[[MacroName(arg1,arg2,arg3...)]]}}}처럼 사용합니다.
          * 모니위키 1.1.5 부터는 매크로에 대한 별명을 지원합니다. {{{[[각주]]}}}라는 식으로 써서 {{{[[FootNote]]}}}의 별명으로 사용하실 수 있습니다.
          이렇게 사용하려면 다음과 같은 설정을 `config.php`에 넣어주셔야 합니다.
         ||'''매크로'''||'''설명'''||'''사용례'''||
         ||'''매크로'''||'''설명'''||'''사용례'''||
         ||{{{[[TableOfContents]]}}} || 목차 매크로 || 현재 보고계신 페이지에서 사용중입니다. ||
         ||'''매크로'''||'''설명'''||'''사용례'''||
         ||'''매크로'''||'''설명'''||'''사용례'''||
         ||{{{[[UserPreferences]]}}} || 사용자 환경설정 || UserPreferences ||
         == 사용례 ==
         각각의 매크로에 대한 예제는 각 매크로 해당 페이지에서 보실 수 있습니다. 간단한 예로 SystemInfo페이지에서 사용하는 {{{[[SystemInfo]]}}}매크로입니다. {{{[[SystemInfo]]}}}를 임의의 페이지에 집어넣으면 다음과 같이 보여집니다:
  • MoreEffectiveC++/Operator . . . . 16 matches
          * Item 5: 사용자 정의 형변환(conversion) 함수에 주의하라!
         뭐 이런 암시적 형변환을 막을려면, 형전환 시키고 하는 암시적 사용을 하지 않고, 다른 함수로 명시적으로 해 줄수 있다.
         이런 애매한 상황을 피할수 있는 가장 효과적인 방법은 C++에서 등장한 새로운 키워드인 '''explicit''' 의 사용이다. 이 키워드가 붙은 생성자로의 형변환에서는 반드시 명시적인 선언이 있어야 가능하다. 즉 위의 코드를 다시 작성하여 '''explicit'''의 사용을 알아보고 문법상 유의 사항도 알아 보자
          // 하지만 다른 개발자가 해석에 사용자의 의도가 약간 의문이 간다.
         이렇게 explicit를 사용하면 명시적으로만 형변환이 가능하다. 하지만 또 하나 문법상 유의 해야 할사항은
         우리는 ++와 --연산자(이하 가칭 가감 연산자)를 즐겨 쓴다. 이 연산자 역시 클래스에서 정의해서 사용할수 있다.
         수많은 개발자들이 이런 단순한 원리를 프로그램 상에서의 짧은 진행(short-circuit)을 추구하는데 사용하였다. 그렇다면 C++에서의 객체들에게 operator ||, && 를 overload 시키면 짧은 진행을 추구하는데 도움이 되지 않을까? 그런데 하지 말라니 왜일까? [[BR]]
         자 이 두경우 모두를 생각해 보면 1,2 양쪽 다 expression1, expression2 의 결과 값이 필요한 상황이다. 즉, operator && 나 operator || 의 경우 양쪽이 class인자든, 어떤 형태이든 반드시 결과 값이 필요하다. 위에도 언급했지만, 이미 많은 개발자들이 &&와 ||의 특성을 잘 알고 사용하고 있으며, operator &&, ||의 overload는 구동되지 말아야할 코드가 구동되는 의도하지 않은 오류가 발생 소지가 있다.
         comma operator는 표현(form expression)에 사용된다. 아래를 보자
         이 코드는 new operator를 사용한 것이다. new operator는 sizeof 처럼 언어 상에 포함되어 있으며, 개발자가 더 이상 그 의미의 변경이 불가능하다. 이건 두가지의 역할을 하는데, 첫째로 해당 객체가 들어갈 만한 메모리를 할당하는 것이고, 둘째로 해당 객체의 생성자를 불러주는 역할이다. new operator는 항상 이 두가지의 의미라 작동하며 앞에서 언급한듯 변경은 불가능하다.
         다음은 placement new를 사용한 예제이다.
          delete ps; // delete operator 를 사용한다.
         그리고 이것의 의미는 당신이 초기화 되지 않은 raw로의 사용의 경우에는 new와 delete operator로 그냥 넘겨야 한다는 의미가 된다. 즉 이코드 대신에 다음의 예를 볼수 있을 것이다.
         그렇다면, 이번에 당신은 placement new를 사용해서 메모리상에 객체를 만들었다면 delete를 사용할수 없을 꺼라는 예측을 할수 있을 것이다. 자 다음 코드를 보면서 명시적인 delete를 행하는 코드들을 보자
  • UnixSocketProgrammingAndWindowsImplementation . . . . 16 matches
         PF_INET : 인터넷 프로토콜 체계 사용
         PF_INET6 IPv6 : 프로토콜 체계 사용
         PF_UNIX : 유닉스 방식의 프로토콜 체계 사용 (프로세스간 통신)
         PF_NS XEROX : 네트워크 시스템의 프로토콜 체계 사용
         PF대신 AF를 사용해도 무방. (ex. PF_INET -> AF_INET)
         // 우리가 사용하는 프로토콜인 TCP, UDP가 0이므로 0으로 써도 무방하다.
         // 구체적인 프로토콜을 선택할 때 사용하는데 대부분의 응용 프로그렘에서는 0으로 지정하면 된다.
         // sockaddr_in 은 TCP/IP체제 이므로 AF_INET만 사용한다. -> TCP/IP는 인터넷 기반이므로.
         // AF_INET/PF_INET -> 인터넷 프로토콜 체계 사용.
         NULL : 임의의 포트를 할당한다. client에서 사용한다.
         // u_short sin_port 은 Big-Endian을 사용한다.
         // 따라서 Little_Endian을 사용하는 시스템에서는 Big-Endian으로 바꿔줘야한다.
          inet_addr(): 주소를 long형으로 계산하고 htonl()를 사용해 Big-Endian으로 변환 후 값을 return 한다.
         // 타 시스템으로 이식을 위해 되도록 send를 사용하는 것이 좋다.
         // 타 시스템으로 이식을 위해 되도록 send를 사용하는 것이 좋다.
         ◎ UNIX 체계에서 사용하던 함수들의 헤더파일이 Windows 기반에서는 존재하지 않을 수도 있다.
  • AcceleratedC++/Chapter14 . . . . 15 matches
         내부의 한 개체를 가리키는 포인터와 비슷한 객체를 적절히 사용하면 불필요한 복사가 행해지는 성능상의 문제를 해결할 수 있다.
         13.3.1절의 첫번째 해결법에선느 이를 위해서 포인터를 사용하여서 Core 혹은 Core로 부터 파생된 객체들을 생성하여 컬렉션 내부의 포인터들로 가리키도록 하였다. 따라서 이 경우 사용자 코드는 객체의 동적생성, 해제에 관련된 것들을 처리할 책임이 있었다.
          사용자가 Handle 클래스를 이용해서 특정한 개체에 Handle을 붙이게 되면 Handle은 그 객체의 메모리를 관리하게 된다.
          즉 Handle이 소멸되면 Handle이 가리키는 객체도 소멸되게 된다. 사용자는 바인딩이 안된 객체를 가리키는 핸들을 만들수는 있지만 이 경우 핸들에 접근하게되면 예외 상황을 발생하게된다. (아니면 처음 생성시 객체가 바인딩 되어있는지를 검사하도록 하면 된다.)
          -> 연산자는 일견 이항 연산자 처럼 보이지만 동작하는 방식이 다른 연산자들과는 다르다. ->를 호출하게 되면 연산자의 좌측요소에서 포인터를 대신해서 사용이 가능한 요소가 리턴된다.
          === 14.1.2 제네릭 핸들 사용하기 ===
         어떤 경우에 프로그래머는 Handle이 대상 객체를 복사하는 형태가 아니라 단지 가리키는 형태로만 사용되기를 바랄 수 있다. 즉 동일한 객체를 2개의 다른 Handle 이 가리킬 수 있다는 말이다.
         이경우 대상객체의 해제는 객체를 가리키는 마지막 핸들이 소멸될때 행해져야한다. 이를 위해 '''레퍼런스 카운트(reference count, 참조계수)'''를 사용한다.
         //Ref_handle을 기반으로 작성된 Student_info 클래스의 사용
          template<>를 사용하면 특정 인자 타입에 대한 특정 템플릿 함수의 버전을 정의한다.
          || * Ptr<T>::make_unique()를 사용하지 않는다면 T::clone은 불필요 [[HTML(<BR/>)]] * Ptr<T>::make_unique를 사용한다면 T::clone가 있다면 T::clone을 사용할 것이다. [[HTML(<BR/>)]] * Ptr<T>::make_unique를 사용한다면 T::clone가 미정의되었다면 clone<T>를 정의해서 원하는 바를 얻을 수 있다. ||
  • MFC/CollectionClass . . . . 15 matches
          ''두가지 형태로 구현되어있다. 첫번째는 함수템플릿을 이용한 형태로 구현되어있고, 두번째는 템플릿을 사용하지 않는 방법으로 옛 버전의 VC++에서 부터 사용되어온 방식이다. 현재는 템플릿을 이용한 방법을 사용하는 것이 좋다.''
         객체의 컬렉션을 정의하는 템플릿 클래스는 MFC의 CObject클래스에서 파생된다. 이런 템플릿 클래스는 기본 데이터 형식이나 사용자가 정의한 클래스, 구조체를 포함한 어떠한 종류의 객체도 저장, 관리하는 것이 가능하다. 이런 클래스들은 내부적으로 복사를 하기 때문에 복사생성자를 만들어야 한다.
         CArray<저장될 객체의 형식, 사용되는 인수의 형식> anArray
          첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말한다.
          || {{{~cpp operator[index]}}} || GetAt()과 동일하게 작동하며, built-in 배열과 동일한 사용법을 제공한다. [[BR]] {{{~cpp pointArray.SetAt}}}(3, NewPoint)[[BR]]{{{~cpp pointArray[3]=NewPoint}}} ||
         CList<저장될 객체의 형식, 사용되는 인수의 형식> aList
          첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말한다.
          || {{{~cpp GetNext(POSITION)}}} || 전달된 위치 변수를 증가시킨다. 마지막 객체에서 사용될때에는 NULL을 리턴한다. ||
          || {{{~cpp SetAt(POSITION, ObjectType)}}} || 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. ||
         CMap<키 형식, 키 인수 형식, 저장될 객체의 형식, 사용되는 인수의 형식> aMap
          맵은 객체와 키의 조합을 저장한다. 키는 맵에 할당된 메모리의 특정 블록안에 객체가 저장되어 있는지를 결정하는데 사용된다. 키를 맵안의 엔트리의 어드레스로 계산될 수 있는 정소로 변환하는 과정을 해실(Hashing)이라고 한다.
          || {{{~cpp operator[]}}} || 배열과 동일한 형태로 사용하는 것이 가능 ||
          || {{{~cpp SetAt(POSITION, ObjectType)}}} || 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. ||
  • MoniWikiTutorial . . . . 15 matches
          * 계정 만들기: UserPreferences로 가서 사용자 등록을 합니다.
          * 사용자 ID: 영문으로 사용자 ID를 만들 경우 보통 소문자 구성된 사용자 ID를 만드는 것이 일반적이지만, 위키위키에서는 FooBar같은 낙타식 사용자 ID를 종종 사용합니다. 한글로 만드셔도 됩니다.
          * UserPreferences: 사용자 가입/로그인/설정
         공백을 보존되는 preformat을 사용하고 싶은 경우는 중괄호`{{{{{{ ... }}}}}}`를 사용합니다.: {{{
         사용례:
         고급기능인 플러그인을 사용할 수 있습니다.
          * 매크로는 페이지에 따라 종종 동적으로 변할 수 있습니다. 예를 들어 {{{[[Calendar]]}}}매크로를 사용하면 보이는 달력은 날마다 그 내용이 변할 수 있습니다.
          * 주로 사용하는 매크로는
          * ` PageList` - 인수로 사용되는 패턴과 일치하는 페이지 목록을 보여줍니다.
          * 페이지를 만들때는 Template를 사용하면 편리한 경우도 있습니다.
  • Spring/탐험스터디/wiki만들기 . . . . 15 matches
          * 스프링 시큐리티 사용 준비
          * UserDetail - 스프링 시큐리티가 사용할 수 있는 User 객체 만들기
          * 현재 로그인 한 사용자 정보 가져오기
          * Spring Security의 Role Voter는 "ROLE_" 접두어를 사용한 접근 속성만 처리한다. 단 접두어는 커스터마이징이 가능하다.
          * 위키 문법을 별도로 정의하고 파서를 구현하는 대신 Markdown을 사용하기로 결정했다.
          * 아주 간단한 Pegdown 사용
          * 위키의 문법을 구현하기로 하였는데 직접 파서를 구현하기보다 Markdown의 파서를 사용하면(Markdown 문법을 사용해야 하지만) 편리할 것 같아(명백해서 증명할 필요가 없다!) Markdown 파서중 pegdown을 쓰기로 경정. Java 언어 기반의 파서중 그나마 문서화(GitHub의 소개페이지)가 잘되어있어서....
          * login.jsp 를 만들어서 커스터마이징 한 로그인 페이지를 사용할 수 있게 수정했다.
          * spring security의 tag library의 ifAllGranted, ifNotGranted등을 사용할 수 있다.
          * 이건... 음.. "signup 폼을 담은 페이지를 호출" 할 때와 "사용자의 ID와 PASSWORD를 전달해 로그인 처리를 하는" 경우가 같은 Request Name을 가지게 되서..
          * 이제 로그인되지 않은 사용자가 페이지 생성을 요청하면 Spring Security에 의해 Signup 페이지로 이동된다. 끗
          * Java에서 Matcher를 사용할 때 matches()는 전체가 완전히 일치하는 것만 찾아주고 find()는 substring일 때도 찾아준다. 예를들어 'abcde'에서 'bcd'를 찾을 때 matches를 사용하면 못 찾고 find를 사용하면 찾음.
  • ViImproved/설명서 . . . . 15 matches
          마지막 명령반복 사용 도트 명령어(.) 택스트변경시(d s c ..) 작업 동작 반복
          예 제 set wm=3 set sm ## 축약어 사용. 입력시 bbm을 bbmaster@flower.chungnam.ac.kr로 바뀐다 ab bbm bbmaster@flower.chungnam.ac.kr ## 스펠링 체크 매크로 map V :w^M:!spell -x %^M:e!^M^M
         주 요용 어 번지지정 명령 vi 명령중에서 처리해야할 대상의 종류를 사용자가 지정할수 있도록 하는 명령예) d 명령에서, dw는 단어 삭제를, db는 앞단어의 삭제를 의미한다.
          비모드형 비모드형 프로그램은 키들을 항상 같은 의미로 사용한다
          :sh↓ 쉘의 임시사용 vi로 복귀시(^d, exit 사용)
          erase 사용자의 소거 문자로 ^H와 같다
          kill 사용자의 행 말소 문자. 현 행의 입력을 소거
          \ 사용자의 소거 문자나 행 말소 문자를 ESC
          [c] 변경시 변경여부를 사용자에게 물어 본다
          "np n번 전에 사용한 삭제 명령이나, yank명령에 의해 기록된 버퍼의 내용을 가지고 붙이기 수행
         :set all 현재 사용중인 vi의 옵션 지정상태에 대한 모든 것을 볼 수 있다
         edcmpatible noedcmpatible ed편집기의 기능사용
         tags= tag /usr/lib/tags 태그명령에 사용되는 화일 pass
         window=(w=) 편집된 내용이 저장되지 않고 쉘 명령을 사용할 경우 경고 메시지를 출력
  • 시간관리인생관리/요약 . . . . 15 matches
          || 좋은 시스템이 있지만, || 시스템이 없거나 나쁜 시스템을 사용한다. ||
          * 목록에 있는 항목에 대해서, 당신의 시간 중에서 대략 몇 퍼센트를 그것에 사용하는지 적어보아라. 모두 합쳐서 100이 되도록 하라
          ==== '''우선순위'''는 '''중요성'''보다 '''긴급성'''에 바탕을 할때 사용해라. ====
          * '''꼭 해야할일 A''', '''해야할일 B''', '''하면 좋은일 C'''을 사용해 우선순위를 정해라.
          ==== '''바로 지금하기'''는 미리 정해진 과업이나 일상적인 것들을 할 때 길을 잡기 위해 사용하라. ====
          * <!> '''연습 : 지난주에 당신이 계획한 그 모든 모임에 당신이 사용한 시간의 합계를 계산해 보라.'''
          * 모임에 준비하고, 모임에 참석하러 가고, 회복하는데 사용한 모든 시간을 포함시켜라.
          ==== 당신이 작업하는 각각의 프로젝트에 점검표를 사용하라. ====
          ==== 표준적인 분출 기간을 사용하는 실험 ====
          ==== 반으로 나누기 방법을 사용해 ====
          * 얼마나 긴 시간을 사용하건 중요한 것은 정한 시간 모두를 사용하는 것이다.
          ==== 저항을 안내자로 사용해 행동을 하면 우리의 삶은 부드럽게 흘러 간다. ====
          ==== 일을 시작하기 전에 '흐트러진 지도(scatter map)'를 사용해 당신의 하루를 '워밍업' 하라. ====
          || '''저항을 안내자로 사용하면''' || '''그렇지 않은 경우에는''' ||
  • 2dInDirect3d/Chapter2 . . . . 14 matches
          * Viewport를 생성하고 사용하는 방법
          UINT Adapter, // 어댑터의 번호, D3DADAPTER_DEFAULT를 사용
          D3DDEVTYPE DeviceType, //디바이스의 타임, D3DDEVTYPE_HAL을 사용
          2. BehaviorFlag에는 버텍스를 처리하는 방법을 넣어준다. D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING중 한가지를 사용한다. (사실은 더 많은 옵션이 있다.) 대개 마지막 SOFTWARE를 사용한다.
          5. 다 사용한 이후는 꼭!! '''Release()'''함수를 사용하여 사용을 해제시킨다.
          == Direct3D에서 사용하는 색상 ==
          Direct3D에서 사용하는 색상은 '''D3DCOLOR''' 이다. (3D에서는 COLORREF였다.) 저것을 정의하는 매크로에는 다음과 같은 세가지가 있다.
          RGB(r, g, b); // 보통 사용하는 색상 매크로
          D3DCOLOR_XRGB(r, g, b); // 보통 사용하는 매크로와 사용법이 같다. 이때 a 값은 0이 아닌 255(최대값)이 들어간다.
          1. D3DCLEAR_STENCIL, D3DCLEAR_TARGET, D3DCLEAR_ZBUFFER 세개가 있는데, 보통 D3DCLEAR_TARGET를 사용한다.
  • 데블스캠프2005/RUR-PLE . . . . 14 matches
          * 로봇 사용법 5분
          * if문 사용 + 연습 5분
          * not 사용 + 연습(수확2) 40분
          * while 사용 + 연습(수확3) 10분
          * Python 언어를 사용하여 컴퓨터 프로그래밍 언어를 배울수 있는 환경이다.
          * 실제로 로봇에 프로그래밍 해서 그 로봇이 현실에서 자신이 프로그래밍 하는데로 움직이는것을 보면 정말 좋겠지만 여건이 안되는 만큼 -_-; 화면으로나마 그 로봇이 움직이는 것을 보면서 프로그래밍 해볼 수 있다. 여기에서 작성하는 코드들이 무슨 쓸모가 있을까 싶기도 하겠지만, 추후에 실제 로봇의 동작을 프로그래밍해서 넣는다면 여기서 쓰이는 방식과 비슷하게 넣을것이다.(하드웨어적으로 복잡한것을 명령어로 추상화 시킨다음에 그 명령어을 적절하게 복합적으로 사용하여 원하는 행동을 로봇이 하게 만드는 식으로..) 즉 말그대로 로봇 프로그래밍을 간접적으로나 해볼 수 있다.
         = 간단한 러플 사용법 =
          * repeat 명령어를 써서 여러번 수행해야 하는 함수(명령어 포함)을 한번에 방복 횟수만 지정해서 사용할 수 있다.
         == if 문 사용 ==
          * 위의 if문과 함수 정의, repeat를 사용하여 아래 화면과 같은 상황을 처리한다.
         === else 문 사용 ===
          * not은 아래와 같은 식으로 사용한다.
          * 아래와 같은 식으로 사용한다.
          * while문을 사용하여 중복된 씨앗의 개수가 2 이상인 임의의 개수일 경우에도 처리 가능하게 위 소스를 수정한다.
  • CCNA/2013스터디 . . . . 13 matches
          * OSI 계층 모델의 사용 목적
          * 이해도의 증가 - 사용자가 이해하기 쉽게
          * 응용 프로그램에서 사용하는 데이터의 형식, 암호화, 압축 등을 담당
          - 패스트 이더넷에서는 100Mbps 풀 듀플렉스 스위치를 사용하면 충돌(Collision)이 발생하지 않는다.
          - 차이점 : 광케이블을 사용한다(토큰링은 STP 케이블 사용), 링이 듀얼링 구조(2중 링)으로 되어 있다.
          * 토큰링과 FDDI는 많이 사용되지 않아서 그런지 설명이 무척 적었음.
          * 에러 감지: Magic Number나 Quality Protocol을 사용해 안정적 데이터 전송
          * Data: 0~1500 바이트의 사용자 데이터
          전용선 사용시보다 비용 부담이 줄어든다(항상 연결을 유지하는 전용선과 다르게 사용할 때에만 네트워크 접속을 하므로)
          - ISDN DDR(Dial on Demand Routing) : 전송시킬 데이터나 서비스가 있을 때만 ISDN 라인을 사용하는 기술
          - show dialer : ISDN번호, 주소, 연결 지속시간, 현재 사용하는 채널, Data Link 상태 등의 정보를 보여줌.
  • CleanCode . . . . 13 matches
          * [http://dogfeet.github.io/progit/progit.ko.pdf git 사용과 관련된 pro git이라는 책의 한국어 번역본. 상당히 자세히 나와 있다고 하네요]
          * 실제로는 쓰지 않는데 테스트를 위한 메소드를 추가하게 되는 경우가 있을 수 있지 않은가? -> java의 경우는 reflection을 사용하면 메소드의 추가 없이 처리가 가능한 경우도 있지만 그것보다도 테스트용 framework(mockito 등)를 사용하는것이 좋다.
          * 함수 인자가 많아지게 되면 사용자가 인자들에 대해서 이해를 하기 힘들다.
          * 생성과 사용을 분리했을 시의 장점
          - 객체 사용 코드는 대개 application 레벨인 경우가 많은데, 객체 생성 방법이 바뀌어도 사용 부분은 그대로 유지할 수 있다.
          - Factory를 사용하기 때문에 복잡한 객체의 생성이나 객체의 실제 모양을 숨길 수 있다.
          * Java Proxies : 객체 생성 시에 proxy를 거치게 하는 방법을 통해 해당 객체의 메소드 호출시 다양한 부가 작업들(횡단 관심사)을 처리할 수 있다. 다만 사용이 복잡하고 사용시에도 아래의 방법들에 비해 제한이 좀 있다.
          * 어떤 객체의 사용자에게 그 사용자한테 필요한 메소드만 있는 인터페이스를 제공하라.
          * 자바스크립트에서 지원하는 apply 함수와 arguments로 함수의 인자값을 받아올 수 있는 것을 이용해 외부의 라이브러리 사용 없이도 간단하게 proxy를 구현할 수 있다. jquery-aop 등의 외부 라이브러리도 있다.
  • UbuntuLinux . . . . 13 matches
         우분투 리눅스 시디를 얻게 되어서 남는 하드디스크 하나에 설치해 보았는데, 버벅이는 윈2000 꼴이 보기 싫기도 했거니와 이번 기회를 계기로 리눅스를 사용해 보자는 생각이 들었다.
         설치 후 첫째 난관은 인터넷을 사용하는 것이다. (이정도 쯤이야) 마우스 클릭 몇 방에 해결되었다. DHCP가 알아서 아이피를 잡아줬다. 윈도우랑 다를 게 없다.
         그럼 그전에 먼저 홈 네트워크를 구축해보자. 원래 내 컴퓨터는 서버로 사용중이었다. 집안 네트워크를 맘대로 끊어버렸어나 특한 요구가 없으므로 아무런 핍박없이 네트워크 작업을 할 수 있겠지. 우선은 구글에 검색해보고 ( 검색 먼저, 삽질은 나중에 )
         다음 목표는 이전에 사용하던 윈2000을 멀티부팅하기. 사실 리눅스만 쓰고 싶은 마음이 간절하지만 각종 윈도우 전용 프로그램을 사용하던 과거를 한 순간에 지워버리지는 못하거든.
         우분투는 부트로더로 grub이란 녀석을 사용한다. 원래는 GNU에서 쓰는 건데 좋길래 리눅스에도 사용하는 추세라는 글을 웹을 탐험하던 중에 읽었다. 아하 그렇군요. 그럼 grub을 사용해서 윈도우를 부팅하면 되겠네요.
         물리적 하드 두개에 리눅스와 윈도우가 따로 설치된 상황이라서( 둘은 서로를 모른다.) 사실 안 되는 게 아닐까 걱정도 했다. 웹을 찾아보니 윈도우나 리눅스를 먼저 설치한 뒤 다른 하나를 설치한 경우가 대세였다. 태반은 하드 하나를 파티션을 나누는 방법으로( 굉장한 노력인듯.;; 하드가 두개 있어 아무런 걱정없이 리눅스를 다르는 하드에 설치한 나는 행운인가.;;;) 두 운영체제를 골라서 사용하는 방법을 설명하고 있었다.
         = MS 인터넷 익스플로러 사용하기 =
         = HP 프린터 사용하기 =
         LAN이 연결된 공용 프린터를 사용하는 경우 HP Jet Direct를 이용하면 손쉽게 프린터를 잡을 수 있다.
         = 듀얼 모니터 사용하기 =
  • ZeroPage_200_OK . . . . 13 matches
          * form 관련으로 사용자 입력을 받을 수 있었던 부분 실습을 주로 배웠습니다. 근데 궁금한게 도중에 html5 얘기를 하시면서 <a href=""><button>abc</button></a> html5에서는 이렇게 사용할 수 있는데 이런게 자바스크립트를 쓸 수 없는 경우에 된다고 하셨는데 그럼 원래 버튼의 onclick같은 on~는 자바스크립트인건가요? - [서영주]
          * 자바스크립트에서 자주 this 얘기가 나오던데, 이번에 이야기를 들을 수 있어서 좋았습니다. 개인적인 느낌을 말하자면 함수가 데이터로 취급되는데 함수 내부에서 함수를 호출한 객체(execution context)의 정보를 사용하기 위해서 this를 사용한다는 느낌이는데 맞는지 모르겠군요. p.print를 넘기는 것도 실제로 class p에 있는 함수를 넘기는 게 아니라 p.print에 바인딩 된 어떤 함수를 넘기는 것이니까 내부의 this가 기존 OOP와 같이 해당 class의 인스턴스는 될 수 없겠죠. 그리고 제일 마음에 들었던 것은 역시 예전에 했던 스터디에서 다뤘던 자바스크립트의 네 가지 특징에 대해서 들을 수 있었다는 점이었습니다. 사실 예전 스터디 떄 무척 듣고 싶었는데 개인적인 사정으로 참가를 할 수 없어서 꽤 아쉬웠던 터라 ;;; 마지막에는 개인적인 사정으로 시간이 안 맞아서 좀 급하게 나갔는데, 그래도 최대한 들을 수 있는 데까지 듣기를 잘 한 것 같은 느낌이 들었습니다. - [서민관]
          * 자바스크립트의 언어 특성에 따라서 배우고 기본적인 사용 문법에 대해서 배웠습니다. 명령형 구조적 프로그래밍 언어적인 부분에 대해서는 그렇게 어려운건 없었는데 그 뒤의 함수형 선언적 프로그래밍 언어 부분에서 클로저랑 함수에 함수를 인자로 주는 부분이 같이 쓰이니까 좀 복잡했었습니다. 조금 더 공부해야 할 것 같습니다. var Person = function(){}; 같은 부분나 this가 new를 했을 때에만 제대로 동작한다는 부분도 특이했습니다. 문법적인 부분 자체는 그렇게 어려운 것 같지 않은데 함수를 중첩해서 쓰거나 그런 부분이 약간 알아보기 힘든 것 같습니다. - [서영주]
          * 서버에서 데이터를 가져와서 보여줘야 하는 경우에 싱글스레드를 사용하기 때문에 생기는 문제점에 대해서 배우고 이를 처리하기 위한 방법을 배웠습니다. 처음에는 iframe을 이용한 처리를 배웠는데 iframe 내부는 독립적인 페이지이기 때문에 바깥의 렌더링에 영향을 안주지만 페이지를 이동하는 소리가 나고, iframe이 서버측의 데이터를 읽어서 렌더링 해줄 때 서버측의 스크립트가 실행되는 문제점 등이 있음을 알았습니다. 이를 대체하기 위해 ajax를 사용하는데 ajax는 렌더링은 하지 않고 요청 스레드만 생성해서 처리를 하는 방식인데 xmlHttpRequest나 ActiveXObject같은 내장객체를 써서 요청 스레드를 생성한다는걸 배웠습니다. ajax라고 말은 많이 들었는데 구체적으로 어떤 함수나 어떤 객체를 쓰면 ajax인건가는 잘 몰랐었는데 일반적으로 비동기 처리를 하는거면 ajax라고 말할 수 있다고 하셨습니다. 그리고 중간에 body.innerHTML을 직접 수정하는 부분에서 문제가 생겼었는데 innerHTML을 손대면 DOM이 다시 만들어져서 핸들러가 전부 다 사라진다는 것도 기억을 해둬야겠습니다. - [서영주]
          * Builder Pattern의 일종으로 jQuery의 메소드를 실행한 이후에 jQuery 배열 객체를 반환함으로써 함수의 chainning을 해서 사용할 수 있다.
          * Element를 찾을 때 CSS 문법을 이용하여 작업을 할 수도 있고 jQuery의 메소드를 이용해서 작업을 할 수도 있는데, 복잡한 대상을 한 번만 찾아서 작업을 할 경우에는 CSS 문법을 이용하는 것이 좋고, 찾은 대상에서 여러 작업을 할 경우에는 jQuery 함수를 사용하거나 해당 Element를 변수에 저장해 두었다가 사용하는 것이 성능 면에서 좋다.
          * live() - 처음에 ready() 때에 이벤트 핸들러를 걸어주는 식으로 코드를 짰을 경우 중간에 생성한 객체에는 이벤트 핸들러가 걸려있지 않다. 하지만 ready()에서 live() 메소드를 사용해서 이벤트 핸들러를 걸 경우 매 이벤트가 발생한 때마다 이벤트 핸들러가 걸려야 할 객체를 찾아서 없으면 이벤트 핸들러를 알아서 걸어준다. 하지만 처음에 핸들러를 걸어주는 것과 비교해서 비용이 다소 비싸다.
          * sortable(), appendTo(), data(), focus(), blur(), clone() 등의 jQuery API를 사용.
          * JavaScript가 뒤에 있으면 이벤트가 늦게 걸리게 된다. -> Command Queue 패턴 사용.
  • 논문번역/2012년스터디/김태진 . . . . 13 matches
         완전한 영어 문장들로 학습/인식을 위한 데이터를 제공했는데, 각각은 Lancaster-Oslo/Bergen corpus에 기초한다. 글쓴이에 상관없는 형태와 마찬가지로 다수의 저자에 의한 실험은 the Institute of Informatics and Applied Mathe- matics (IAM)에서 수집한 손글씨 형태를 사용했다. 전체 데이터는 다양한 텍스트 영역들을 가지고 있고,500명보다 많은 글쓴이들이 쓴 1200개보다 많은 글씨를 가지고 있다. 우리는 250명의 글쓴이가 쓴 글쓴이-독립적인 실험에서 만들어진 카테고리들의 형태를 사용하고, 6명의 글쓴이가 쓴 c03 형태로 여러 글쓴이 모드를 적용해본다.
          개인 저자에서도 우리의 시스템을 평가해보기 위해서, 우리는 Senior[15]로 수직한 데이터로 만들어진 글씨들을 사용한 실험을 한다. 이 데이터는 한명의 글쓴이가 만든 25페이지에 달하는 손글씨를 사용하였고, 웹에서 공공연하게 이용가능하다.
          이 두가지 데이터들 모두 300dpi using 256 grey-levels로 스캔해서 사용했고, Fig 에서 각각의 데이터를 예시로 제시한다.
         주어진 손글씨 문서에 대한 이미지에 대해 처음 전체 이미지를 삐뚤게 쓴 것은(?) 글쓰는 것에 대한 지속적인 "drift"(흐름) - 지속적으로 계속되는 것이거나 스캔하는 동안 부정확하게 놓여진 것(가지런하게 두지 않아서..)에 의한 오류들을 수정하기 위해 고쳤다. 그래서, 그 이미지는 2진화된 이미지를 수직 밀집 히스토그램에서 최소한의 엔트로피가 될때까지 반복한다. 이러한 전처리는 IAM 데이터베이스에 대한 공식을 사용하지 않았는데, 글쓴이들이 스캔하는 동한 정확하게 ???????because the writers were asked to use rulers on a second sheet put below the form and the formulars itself are aligned precisely during scanning.
          더 많은 문서 작업을 위해, 개인의 손글씨 각 줄들을 추출했다. 이것은 글씨들을 핵심 위치들 사이로 이미지를 쪼개는 것으로 할 수 있었다. 핵심 위치란, 글씨의 아래위 선사이의 영역과 같은 것인데, 핵심 위치에 존재하는 줄에서 필요한 전체 픽셀들의 최소 갯수를 말하는 한계점을 응용하여(?)찾을 수 있다. 이러한 한계점은 2진화된 손글씨 영역에 대한 수직적인 밀집 히스토그램(the horizontal density histogram of the binarized handwriting-area)을 사용한 Otsu method를 사용하여 자동적으로 만들 수 있다. 검은색 픽셀들의 갯수는 수평적 투영 히스토그램에 각각의 줄을 합한 갯수이고, 그 이미지는 이 히스토그램의 최소화를 따라 핵심 위치들 사이로 조각 내었다.
          글쓰는 스타일이 때로 한줄 내에서 중요하게(?) 바뀐다는 관측에 고무되어서, 우리는 각 손글씨 줄들을 각각 수직적인 위치, 기울어짐, slant에서 수정했다. 그래서 각각의 줄은 문서의 부분 사이에 공백으로 찾아 쪼개었다. 한계점은 일반화 요소들을 통했을때에 계산하기에 너무 짧은 부분들을 피하기 위해 사용했다. 반면에 수직적인 위치와 기울어진 것은 [15]에서 묘사된 방법과 비슷한 선형적 regresion?을 사용한 기준선 추정 방법으로 고쳤고, slant 각도에 대한 계산은 모서리의 방향에 기초하여 고쳤다. 그렇게 이미지를 이진화했고 수직적인 변화를 추출하여 consid- ering that only vertical strokes are decisive for slant estima- tion. Canny 모서리 감지는 각 히스토그램에서 계산된 모서리 방향 데이터를 얻기위해 사용했다. 그 히스토그램의 의미는 slant 각도를 사용하는 것이다.
          등식 (2)는 가중치가 모두 0이 아닐 때 v1...vp사이에서 linear independence relation(선형 독립 관계)라고 한다. 그 인덱싱된 집합이 선형 독립 집합이면 그 집합은 선형독립임이 필요충분 조건이다. 간단히 말하기위해, 우리는 {v1,,,vp}가 선형독립 집합을 의미할때 v1...vp가 독립이라고 말할지도 모른다. 우리는 선형 독립 집합에게 유사한 용어들을 사용한다.
  • 루프는0부터? . . . . 13 matches
         첫번째 것은 0부터 번호를 매기고 !=를 사용하는데 반해, 두번째 것은 1부터 번호를 매기고 <=로 비교합니다. 반복횟수는 둘다 동일합니다. 두번째 것보다 첫 번재 것을 더 성호하는 이유가 있을까요?
         === 첫번째 이유 : 비대칭 적인 범위를 사용하기 때문에 범위를 설명하기 쉽기 때문이다. ===
         첫번째 for문은 [0, rows)를 사용하는 것이 편하고, 두번째 for문은 [1, rows]를 사용하는것이 더 편하다.
         보통 비대칭형 범위는 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면 다음과 같은 중요한 속성이 있기 때문입니다. [m, n)과 같은 형식의 범위는 n-m개의 요소들을 가지며 [m,n]의 형식은 n-m+1의 요소들을 가집니다. 따라서 [0, rows)에서 요소들의 개수는 직관적인데 반해, [1, rows]에서 요소들의 개수는 덜 직관적 입니다. 이러한 속성차이는, 특히 빈 범위의 경우에 더 뚜렷합니다. 만약 비 대칭형 범위를 사용한다면, 빈 범위를 [m,n)으로 표현할수 있지만, 대칭형 범위에서는 [n, n-1]을 사용해야 합니다. 범위의 끝이 시작보다 더 작을수 있따는 가능성은 프로그램 설계시 끝이 정의되지 않아 버리는 문제를 야기 시킬수 있습니다.
         === 세번째 이유 : 비교를 위해 <=를 사용하는 대신 !=를 사용할수 있다는 것 입니다. ===
         조건식이 r!=rows라면, 루프가 끝날 때 r==rows라는 사실을 알수 있습니다. 불변식은 r개의 행을 출력했따는 사실을 말해 주기 때문에, 정확히 rows개의 행을 출력했다는 것을 알 수 있습니다. 한편, 만약 조건식이 <=rows라면, 그로부터 알 수 있는 사실은 최소한 rows개의 행을 출력했다는 사실 뿐입니다. 따라서 그 이상을 출력했을 수도 있는 것입니다. 0부터 번호를 매기게 되면 정확히 rows번의 반복을 수행했는지 확실히 하고자 할 때, R!=rows를 조건식으로 사용할 수 있습니다. 또한, 반복횟수가 rows번 또는 그 이상이 되기만을 원한다면, r<rows를 사용할 수 있습니다. 만약 1부터 번호를 매기다면 최소 rows번의 반복만을 원할때 r<=rows를 사용할 수 있습니다. 하지만, rows가 정확한 숫자가 되도록 하려면 어떻게 해야 할까요? 그런 경우에는 좀더 복잡한 조건식인 r==rows+1과 같은 방법을 사용 할수 있습니다. 하지만 이렇게 복잡하게 해서 얻을수 있는 이득은 거의 없습니다.
  • 새싹교실/2011/學高/1회차 . . . . 13 matches
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
          * ZeroWiki의 사용
          * 링크 걸기: 대괄호 사용
          * 소스 코드: 중괄호 3개 사용
          * 위키의 사용법, 편집방법, 링크, 소스코드, 등을 사용하는 방법을 배웠고
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
          * 틀리지 않았다면 제 기억으론 위에 사용한 stdio.h가 맞습니다.
          2 . Wiki 사용
          * #include <stdio.h> : stdio라는 헤더파일의 함수를 사용하기 위해 include 하겠다
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
         printf를 사용하여 출력하는 법을 배웠다.
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
  • 새싹교실/2012/AClass/2회차 . . . . 13 matches
         -동일한 데이터형의 많은 변수를 처리하기 위한 단수 변수를 사용하면 변수이름을 각각 다른 이름으로 사용해야하기 때문에 많은 불편이 따른다. 이러한 불편함을 덜기 위하여 같은 데이터형인 일련의 기억장소를 표현한 변수를 '배열변수'라 한다. 즉 배열을 이용하면 여러개의 변수를 간단히 표현할 수가 있다. 2차원 배열은 '데이터형,배열명,그리고 [행]과[열]'을 나타내어 표현한다. 1차원 배열은 배열 요소의 크기와 데이터형이 동일한 기억장소를 1개의 차원으로 선언하였다고 말하면 2차원 배열은 2차원으로 선언(행과열)한 것이다.
         - 난수(random number)를 생성할때 stdlib.h헤더파일을 코드에 포함시키고 srand()를 사용한다.rand()함수는 매번 그 값이 같은 반면에 매실행때마다 난수를 다르게 생성하기 위해서 srand()를 사용한다.
         srand역시 stdlib.h에 포함되어 있다. srand는 시드값을 주어 사용하는 것이고 그 시드값으로부터 특정한 법칙으로 난수를 생성하는 것이다.따라서 매번 다른 난수를 얻으려면 시드값을 계속 바꾸어주어야 한다.
         이러한 코드개선을 위해서 time()함수를 사용해야 한다. 이 함수를 사용하기 위해 time.h 헤더 파일을 코드에 포함시켜야 한다. 또한 time함수는 1970년 1월 1일 이후 경과된 시간을 초 단위로 반환하는 함수 이다.
          printf("rand()함수를 사용,1개의 random number 나타내기 \n");
         -포인터는 기억장소에 있는 어떤 변수의 주소를 말한다. 즉, 다른 기억장소 위치의 주소를 갖고 있는 변수이다.포인터는 두개의 단일 연산자인 &와 *로서 정의한다. &연산자는 일반적인 변수 이름으로 사용되고 그 변수의 주소를 의미한다. 즉 &a는 a의 주소를 의미한다. *p는 p안에 있는 주소 위치의 내용을 의미한다. &는 주소 연산자이고 , *는 간접 연산자로 포인터선언을 의미한다. 일반적인 포인터 선언형식: 데이터형 *포인터변수명; 이다.
         위와 같은 표현 가능하다.(포인터명에 *을 사용하는 것은 지시하는 곳에 저장된 값을 나타내는 것이다.)
         #include <stdlib.h> //rand함수 사용
         #include <time.h> //time함수 사용
         Rand가 생성하는 초기 난수를 변경함. SEED는 초기 난수를 변경하는데 사용되지만 SEED자체가 초기난수가 되는 것은 아님
  • 새싹교실/2012/주먹밥 . . . . 13 matches
          * [박도건] : 컴퓨터에 관한 여러가지 잡 지식 + 프로그램 사용법 습득, 네트워크 프로그래밍, 게임 만들어보기.
          * [용상훈] : 기본적인 c언어와 안드로이드,아이폰 어플을 만들기 프로그래밍 사용법 습득.
          * Linux에서 GCC를 사용한 컴파일 시범
          * 이소라 때리기 게임을 Linux gedit를 사용해 코딩을 시켜봄.
          * #define 선언문의 사용법에 대해 알려주었습니다. #define으로 매크로를 선언해놓으면 편하게 선언 단어를 만들음으로 쓸수있지용? 그 응용에 대해서는 다음에 기회가 되면 알려주겠습니다.
          * 헤더 파일들에는 뭐가 들어가는지 한번 알아보았습니다. math.h에는 수학에 관련된 함수. time.h에는 시간 제어에 관련됨 함수를 사용했죠 .srand(time(NULL))이 왜 쓰이는 지는 아직 안알려주었답니다^.^
          * if문, switch()case: default:}, for, while문의 생김새와 존재 목적에 대해서 알려주었습니다. 말그대로 프로그램의 중복을 없애고 사용자의 흐름을 좀 더 편하게 코딩할수 있도록 만들어진 예약어들입니다. 아 switch case문에서 break를 안가르쳤네요 :(
          * 함수 : 사용자의 행동을 이름으로 추상화해서 계속 쓰는 반복을 줄여준다.
          * 함수가 사용될떄 C는 기본적으로 Call-by-value를 사용합니다. 항상 값복사를 통해 변수의 값들을 전달하죠.
          * 구조체는 사용자가 타입을 정의해서 변수처럼 쓸수 있게 만들어주는것 입니다!
          * for문을 사용하여 이미지를 그리는데 for문안에서 for문을 탈출하는 조건으로 걸어놓음. 그래서 이미지 자체가 안그려짐.
          * APM 설치완료 => 블로그 보고. 사용법 익히기. APM_SETUP폴더에 htdocs폴더에 index.html 건들고 오기.
  • 코바예제/시계 . . . . 13 matches
         CORBA 애플리케이션이 어떤 것인지를 설정하기 위한 단순한 예제이다. 그렇기 때문에 이 코드를 그대로 사용해서는 올바르게 동작하지 않는다. 구체적인 코드는 필요에 따라서 추가해야한다. 자신이 사용할 ORB의 종류에 따라 혹은 사용할 언어에 따라서 다르게 구성될 것이다.
         시간 객체에 대한 인터페이스는 ObjTimeServer이며 getTime()이라는 메소드를 가지고 있는데 getTime()는 문자 형식으로 현재의 시간을 반환해 준다. CORBA 객체를 작성하는 첫번째 단계는 인터페이스를 만드는 것이다. 인터페이스는 IDL로 작성되며 인터페이스는 IDL 컴파일러로 컴파일된다. 이 IDL 컴파일러는 기본적으로 사용자가 이용하는(예를들면 VisiBroker) ORB에 포함되어 있는 것이다. IDL로 작성된 인터페이스를 컴파일하면 컴파일러는 두 개의 코드 파일을 생성해 준다. 이 코드 파일들은 각 IDL 컴파일러가 사용하도록 약정된 프로그래밍 언어로 되어 있다. 여기에서 사용하는 ORB는 Java ORB이므로 코드 파일은 Java(Stub, Skeleton)로 되어 있을 것이다. IDL 컴파일러에 의해 생성되는 코드는 프록시 객체(proxy object) 및 스켈레톤 코드이다. 클라이언트는 프록시 객체를 사용하여 IDL로 표현된 인터페이스 타입의 객체 레퍼런스에 대한 호출을 생성한다. 바꾸어 말하녀 프록시 객체는 클라이언트가 작업을 위해 사용하는 대리("stand-in") 객체인데 원격 객체가 마치 지역 객체처럼 보이게 해준다는 것이다. 스켈레톤 코드는 이러한 인터페이스를 지원하는 객체에 액세스하기 위해 사용된다. 생성되는 코드는 위치 투명성을 구현한다. 위치 투명성을 통해 객체 레퍼런스를 변환하여 네트웍 연결을 퉁해 원격 서버로 보내며, 객체 레퍼런스에 대한 오퍼레이션에 따르붙는 파라미터를 ["마샬링"]하고, 이를 객체 레퍼런스가 지시하는 객체의 현재 메소드에 전달하여 메소드를 수행하고 그 결과를 반환하려고 하는 것이다. 바꾸어 말하면 클라이언트는 IDL 컴파일러에 의해 생성된 프록시 객체를 가지고 작업을 하는데, 그것이 마치 지역 객체로 작업하는 것처럼 보일 것이라는 의미이다. ORB와 통신하는 것이 프록시 객체의 임무이며 ORB는 네트웍 연결을 관리하고 파라미터를 실제 서버 함수에 넘겨주며 결과를 리턴한다. 이런 식으로 수행에 대한 투명성을 유지한다.
         위의 IDL을 컴파일하면 스텁과 스켈레톤 코드가 생성된다. 컴파일러가 ObjTimeServer_Skeleton.java라는 이름의 파일을 생성하였으며, 여기에는 서버 쪽에서 사용되는 스켈레톤 코드가 들어 있다고 가정하자. 이제 이 IDL에서 지정된 인터페이스를 갖는 객체를 구현해야만 한다. 이 말은 서버 코드, 즉 구현을 작성해야 한다는 것이다. 그러한 구현 객체 클래스를 작성하기 위해서는 IDL 컴파일러에 의해 만들어진 스켈레톤 클래스와 결합해야 한다. 이 결합은 상속 또는 위임을 사용해서 이루어질 수 이다.
         이 클래스는 환경을 초기화하고, 구현 객체를 생성하며, 클라이언트가 구현 객체를 사용할 수 있도록하고, 이벤트를 받아들이는 일을 한다.
         위의 서버 코드를 컴파일하고 실행하게 되면 문자열화된 IOR을 반환할 것이다. 이것은 단지 인수 전달용으로 사용된다.
  • 페이지제목띄어쓰기토론 . . . . 13 matches
          * 영문 제목의 경우 모두 빈칸을 붙여서 사용한다. (제목으로 표시될때 자동으로 단어의 대문자 단위로 빈칸을 띄어주므로)
         문제를 시스템과 관련해서 제한을 두지 말고 생각해봅시다. 한글 띄어쓰기가 더 사용하기에 좋은지, 아니면 붙여쓰더라도 별다른 불편이 없는지. 만약 띄어쓰는게 더 좋은 방법이라고 모인모인을 수정해볼수도 있겠죠? 예를들어, 한글의 경우 마음대로 띄어쓰기를 하는 경우가 중복된 페이지를 생성하는데 문제가 된다면, 검색시나 새로운 페이지 생성시 white space 를 제외한 검색으로 페이지를 보여줄수도 있겠지요. 생각해보면 다른 '구현' 방법도 찾을 수 있을것 같습니다. 문제는, '문제'자체가 어떠한게 더 좋은 방법인지를 이야기해보도록 합시다. -- 이선우
         우선, 한국어는 영어와 달리 띄어쓰기를 하지 않아도 크게 불편하지 않습니다. 문자와 말의 특성 때문입니다. 하지만 이것이 띄어쓰기를 한 경우보다 정보 손실이 있다는 점은 사실입니다. 현재 모인모인에서는 {{{~cpp ["..."]}}}를 이용해서 확장위키이름을 사용하는 한, 띄어쓰기를 하든 안하든 상관이 없습니다. 띄어쓰기를 하는 것이 좋겠다고 생각을 한다면 그렇게 해보세요. 그리고 나서 토론해 보는 것이 좋을 것입니다. 현재 노스모크는 규칙 변경을 하기에는 비용이 너무 높습니다.
          DeleteMe) 위키네임이 주는 편리한 기능이란, 손쉽게 같은 내용의 중복을 방지하고 하나의 집약된 문서를 만드는 것인가요? 초기에 노스모크에서 일어난 한글 띄어쓰기 문제가 곧 영문의 경우에도 임의로 띄어쓰게 한 결과를 낳았고, 이로 인해 발생한 문제는 '중복된' 페이지의 양산,혹은 사용자가 원하는 페이지를 쉽게 찾을 수 없는데에서 기인하는지 알고 싶습니다. 전, 순수하게 띄어쓰기 자체가 사람이 문자나 내용을 인지하는데 나쁜 영향을 준다고는 생각하지 않습니다. (현재 자연스러운 글쓰기 형태는 지금 쓰는 문서처럼 띄어쓰기를 허용하니까요. 물론, 제목의 경우에도 예외라 생각하지 않습니다.). 정리해서, 띄어쓰기 자체가 띄어쓰지 않는것보다 좋지 않다고 생각하시는건지, 아니면 위키와 결부된 기능상의 문제인지 알고 싶습니다. -- 이선우
          거듭 말씀드리지만, 기능상으로는 제한이 없습니다. 그리고 띄어쓰기 자체가 붙여쓰기보다 나쁘다는 어처구니 없는 일반진술도 하지 않았습니다. 어떤 구체적인 컨텍스트 속에서 이야기를 해야죠. 위키네임이 주는 편리한 기능이란 단어를 붙여쓰면 자동으로 링크가 되는 것을 말합니다. 사람들이 FrontPage라고 하면 될 것을 {{{~cpp ["front page"]}}}나 {{{~cpp ["Front Page"]}}}, 혹은 {{{~cpp ["Frontpage"]}}} 등으로 링크를 걸었다는 것이죠. 또, 사실 사용자가 띄어쓰기를 하건 말건, 혹은 대소문자를 어떻게 섞어쓰건 일종의 분리층(separation layer)을 둬서 모두 동일한 페이지이름으로 매핑을 하는 방법이 있습니다. 하지만 이렇게 되면 새로운 규칙 집합(제가 말하는 규칙이란 사람들간의 규칙을 일컫습니다)이 필요할 것입니다. 국문 경우는 몰라도 영문 경우는 띄어쓰기를 하냐 안하냐가 아주 차이가 큽니다. 노스모크는 초기부터 영어 페이지이름을 많이 사용했고 현재도 그러하기 때문에 이런 문제는 꽤 중요했죠. 또 (영문 경우) 기존의 위키표준을 지킨다는 생각도 있었고요. 하지만 여기는 아직 출발단계이고 하니까 다른 실험을 해볼 수 있겠죠. 아, 그리고 생각이 난건데, 페이지이름을 띄어쓰기를 하게 되면, 사람들이 이걸 위키에서 말하는 어떤 고유한 "단어"로서의 페이지이름(위키의 페이지이름은 "단어"입니다. 그게 하나의 커뮤니케이션 단위이기 때문이죠.)이 아니고 게시판에서의 게시물 제목 수준으로 생각하게 되는 경향(affordance)이 있었습니다. 사실 위키에서의 페이지이름은 프로그래밍의 변수이름처럼 상당히 중요한 역할을 하는데, 붙여쓰기를 하게 되면 사람들에게 기존 의식틀에서 벗어나서 페이지이름이 고유한 것이고, 기존의 게시물 제목과는 다르다는 인식을 심어주는 데에 많은 도움이 되었습니다. 다른 원인도 있겠지만, 주변에서 페이지이름에 띄어쓰기 붙여쓰기 등 별 제한 없이 자유로운 곳일수록 페이지이름을 페이지이름으로 활용하지 못하는 경우를 많이 봤습니다. 만약 띄어쓰기를 허용한다면 오히려 더욱 엄격한 규칙과 이의 전파가 필요할지도 모르겠습니다.
         조금 다른 이야기인데, 특수문자를 페이지이름에 사용하는 문제입니다. 제가 특수문자를 사용하지 말자는 규칙을 만든 이유는, 그것이 발음하기 어렵기 때문입니다. 발음하기 힘든 단어를 한 사회의 언어에 사용하지 않는 것에는 언어학적, 심리학적, 사회학적, 조직학적, 문화적 문제가 중층적으로 연계되어 있습니다. 한마디로 말한다면 해당 위키 커뮤니티가 더 발전하기 위한 겁니다. 이건 다음에 기회가 되면 자세히 설명을 하죠. 아주 작은 차이 같고, 별 이유가 없고 오히려 더 불편한 것 같지만 사실은 상당한 차이를 불러오는 것들이 많습니다. 페이지이름 띄어쓰기 문제도 직접 실험도 해보고 그 결과에 대해 여러가지 분석, 논의도 해보면서 신중한 결정을 하길 바랍니다. --김창준
          혹시 '/'를 사용한 페이지들를 염두에 두고 하신 말씀이신지요. ["ZIM/UIPrototype"] 과 같은 페이지의 이름은 굳이 특수문자를 안쓰고 접두어처럼 사용해서 ["ZimUIPrototype"]과 같이 만들어도 ''작은 차이''일 뿐이라는 생각이 듭니다. 그런데 '/'를 사용하니 제목에 사용된 두 개념의 경계를 명확히해서 눈으로 읽기에는 더 좋은데요, 슬래시(slash)라고 소리내어 읽어야 한다는 것이 어떤 ''상당한 차이''를 불러올지 궁금합니다. --이덕준
  • 5인용C++스터디/멀티미디어 . . . . 12 matches
         - SND_LOOP : 지정한 사운드를 반복적으로 계속 연주한다. 이 플래그는 반드시 SND_ASYNC와 함께 사용되어야 한다.
         예제) AppWizard를 사용하여 Sound라는 이름으로 SDI 프로젝트를 만든다.
          PlaySound 함수를 사용하려면 mmsystem.h 파일을 먼저 include 해주어야 하고,
          이번에는 SND_LOOP 플래그를 사용하여 작성해 보고, WM_RBUTTONDOWN 메시지의 핸들러도 같이 만들어보자.
          SND_LOOP 플래그를 지정하면 반복적인 효과음이나 배경음악을 연주하는 등의 설정을 할 수 있을 것이다. 연주를 중지시키려면 PlaySound 함수의 첫 번째 인수를 NULL로 하여 다시 호출해 주면 된다. 따라서, 오른쪽 마우스 버튼을 누르면 연주가 중지될 것이다. 주의할 것은 SND_LOOP 플래그는 반드시 SND_ASYNC와 함께 사용해야 한다. 만약 동기화 연주방식으로 반복연주를 하면 무한 루프로 빠져버릴 위험이 있다.
          사운드 파일을 연주하는 것은 사용하기는 간단하지만 연주할 때마다 디스크에서 사운드 파일을 읽어와야 하므로 반응 속도가 느리다. 따라서 이 경우에는 사운드 파일을 리소스에 포함시켜 놓고 리소스에서 읽어서 연주하는 방법으로 하는 것이 좋을 것이다.
          PlaySound함수는 메모리 크기의 제한을 받아서 1-2분 정도의 사운드 밖에 낼 수 없다는 점, Wave형태만 지원한다는 점, 연주과정에 사용자가 개입할 수 없다는 단점이 있다.
          MCI는 멀티미디어 요소에 대한 지원을 장치독립적으로 제공하는 일종의 라이브러리이다. 이것은 PlaySound 함수가 하지 못하는 여러 가지 일을 할 수 있지만, 사용 방법은 훨씬 더 복잡하다.
          MCI를 사용하면 동영상도 아주 쉽게 재생할 수 있다. AppWizard로 PlayAVI라는 SDI 프로젝트를 만들고 WM_LBUTTONDOWN 메시지의 핸들러와 WM_DESTROY 메시지의 핸들러를 다음과 같이 작성한다.
          동영상 연주는 Video fot window 라이브러리를 사용하므로 뷰에서 vfw.h를 인클루드 해 주어야 한다.
          또한 프로젝트에서 이 라이브러리를 사용할 수 있도록 Project/Settings/Link 탭에 vfw32.lib를 추가한다. 그리고 동영상 파일을 프로젝트 디렉토리에 넣어두면 된다.
         hInstance: MCIWnd롤 사용하는 인스턴스 핸들을 지정한다.
  • 5인용C++스터디/윈도우에그림그리기 . . . . 12 matches
         GDI(Graphics Device Interface)란 윈도우의 클라이언트 영역에 그리기를 하는데 사용되는 함수이다. 비디오 출력과 프린터에 그래픽 출력을 책임지고 있는 부분이다. 사용자가 Windows용으로 작성하는 응용 프로그램이 GDI를 사용하여 시각적인 정보를 출력할 뿐 아니라 Windows 자체도 GDI를 사용하여 메뉴, 스크롤 바, 아이콘, 그리고 마우스 커서 같은 사용자 인터페이스 아이템의 시각적인 출력을 수행한다.
         DC(Device Context)는 GDI에 의해 내부적으로 관리되는 데이터 구조체이며 '''그래픽 작업을 하기 위해서 필요한 것'''이다. 그림을 그리고자 할 때에는 반드시 먼저 DC에 대한 핸들을 얻어야 한다. 프로그램에 이 핸들을 주는 것으로 Windows는 사용자가 그 장치를 사용할 수 있도록 허가해 준다. 그러면 핸들을 GDI 함수의 인자로 사용하여 현재 그리고자 하는 장치를 Windows가 식별할 수 있도록 한다.
         DC 핸들을 얻고 해제하는 가장 일반적인 방법은 WM_PAINT 메시지 처리 도중 BeginPaint와 EndPaint 호출을 사용하는 것이다.
         변수 ps는 PAINTSTRUCT 형식의 구조체이다. PAINTSTRUCT 구조체에는 윈도우 프로시저가 클라이언트 영역을 그리는 데 사용할 수 있는 정보들이 저장되어 있다.
         두 경우에 있어서 첫번째 인자는 프로그램의 윈도우에 대한 핸들이다. 두번째 인자는 PAINTSTRUCT 형식의 구조체에 대한 포인터이다. PAINTSTRUCT 구조체에는 윈도우 프로시저가 클라이언트 영역을 그리는 데 사용할 수 있는 정보들이 저장되어 있다.
          * SelectObject() : CreatePen()으로 만든 펜을 사용하도록 지정해준다.
  • AcceleratedC++/Chapter10 . . . . 12 matches
          따라서 우리가 일반적으로 사용하는 함수의 표현만으로도 매개변수로 함수를 전달시키는 것이 가능한 것이다.
          이런식의 문법은 많이 사용되지는 않습니다. (Addition 1에서 설명합니다.)
         vector<int>::iterator i = find_if(v.begin(), v.end(), is_negative); // &is_negative 를 사용하지 않는 이유는 자동형변환으로 포인터형으로 변환되기 때문임.
          배열은 클래스 타입이 아니기 때문에 배열의 크기를 나타내는 size_type과 같은 요소는 없습니다. 대신에 C Standard Definition 이하 '''<cstddef>''' 에 '''size_t'''로 지정된 unsigned 타입으로 배열의 크기를 사용해야합니다.
          이 문법을 사용함으로써 배열의 초기화시에 사용자가 명시적으로 배열의 크기를 나타내지 않아도 된다.
          "hello"와 같은 문자열 리터럴은 사실은 '''const char'''형의 배열이다. 이 배열은 실제로 사용하는 문자의 갯수보다 한개가 더 많은 요소를 포함하는데, 이는 문자열 리터럴의 끝을 나타내는 '\0' 즉 널 캐릭터를 넣어야하기 때문이다.
         static 키워드를 사용하여서 배열의 초기화에 소요되는 시간을 단축한다.
          || cerr || 버퍼링을 사용하지 않고, 즉각적인 출력을 한다. 오버헤드가 크다. ||
          <fstream>에서 사용하는 파일 이름은 char* 형이며, string 타입이 아니다. 이는 fstream library 가 만들어진 시기가 STL이 만들어진 시기 보다 앞서기 때문이다.
          만약 파일의 이름으로 string 형을 이용하고 싶다면 string형의 멤버함수인 c_str() 을 이용해서 사용하는 것이 가능하다.
         || 자동메모리 관리 || 지역변수, 지역변수를 참조형, 포인터형으로 리턴하면 그 리턴값은 무효한 값이된다. [[HTML(<BR/>)]] 사용하고 싶다면 '''static''' 키워드를 이용해야한다. ||
  • AcceleratedC++/Chapter8 . . . . 12 matches
         WikiPedia:Generic_function : 함수의 호출시 인자 타입이나 리턴타입을 사용자가 알 수없다. ex)find(B,E,D)
         함수의 호출시 함수의 매개변수를 operand로 하여 행해지는 operator의 유효성을 컴파일러가 조사. 사용 가능성을 판단
          실제 제네릭 함수의 사용에서 가장 문제시 되는 것은 함수내부의 연산을 매개변수 타입이 지원을 하는 가이다.
          {{{~cpp ex) accumulate(v.begin(), v.end(), 0.0); // 만약 0:int를 사용했다면 올바른 동작을 보장할 수 없다.}}}
          STL 함수를 보면 인자로 받는 반복자(iterator)에 따라서 컨테이너의 함수 사용 유효성을 알 수 있다.
          예를 들자면 find(B, E, D)같은 함수의 경우 ''아주 단순한 제한적 연산만을 이용''하기 때문에 대부분의 컨테이너에 대해서 사용이 가능하다. 그러나 sort(B, E)같은 경우에는 ''기본적인 사칙연산들을 반복자에 대해서 사용''하기 때문에 이런 연산을 지원하는 string, vector 만이 완벽하게 지원된다.
          STL은 이런 분류를 위해서 5개의 '''반복자 카테고리(iterator category)'''를 정의하여 반복자를 분류한다. 카테고리의 분류는 반복자의 요소를 접근하는 방법에따른 분류이며, 이는 알고리즘의 사용 유효성 여부를 결정하는데 도움이 된다.
          상기 2개의 구현 모두 begin, end iterator를 순차적으로 접근하고 있음을 알 수 있다. 상기의 함수를 통해서 순차 읽기-전용의 반복자는 '''++(전,후위), ==, !=, *'''를 지원해야한다는 것을 알 수 있다. 덧 붙여서 '''->, .'''와 같은 멤버 참조 연산자도 필요로하다. (7.2절에 사용했떤 연산자이다.)
          class Out 반복자를 출력에 배타적으로 사용하려면 '''++ 연산이 대입문 사이에서 1번이상은 무효'''가 되도록 만들어 주어야한다.
          반복자의 끝값으로 컨테이너의 마지막 요소에서 한개가 지난 값을 사용하는 이유
          * 마지막 요소를 범위의 끝으로 사용함으로써 발생하는 특별한 처리를 없애는 것이 가능. (실수가 줄어듬)
  • Adapter . . . . 12 matches
         DP의 p147을 보면 '''Adapter'''클래스는 반드시 그것의 '''Adaptee'''를 타입으로 선언해서 가지고 있어야만 한다.이런 경우에는 해당 클래스와 그것에서 상속되는 클래스들만이 기능을 사용(adapt)할수 있다. Smalltalk에서 엄격한 형검사(Strong Typeing) 존재 않으면, class 가 '''Adapter'''에서 '''Adaptee'''로 보내어지는 메세지를 보낼수 있는 이상 '''Adaptee'''가 어떠한 클래스라도 상관없을 것이다. [[BR]]
         자 그럼 Adapter를 적용시키는 시나리오를 시작해 본다. ''Design Patterns''(DP139)에서 DrawingEditor는 그래픽 객체들과 Shape의 상속도상의 클래스 인스턴스들을 모아 관리하였다. DrawingEditor는 이런 그래픽 객체들과의 소통을 위하여 Shape 프로토콜을 만들어 이 규칙에 맞는 메세지를 이용한다. 하지만 text인자의 경우 우리는 이미 존재하고 있는 TextView상에서 이미 구현된 기능을 사용한다. 우리는 DrawEditior가 TextView와 일반적으로 쓰이는 Shape와 같이 상호작용 하기를 원한다. 그렇지만 TextView는 Shape의 프로토콜을 따르지 않는 다는 점이 문제이다. 그래서 우리는 TextShap의 Adapter class를 Shape의 자식(subclass)로 정의 한다. TextShape는 인스턴스로 TextView의 참조(reference)를 가지고 있으며, Shape프로토콜상에서의 메세지를 사용한다.; 이들 각각의 메세지는 간단히 다른 메세지로 캡슐화된 TextView에게 전달되어 질수 있다. 우리는 그때 TextShape를 DrawingEditor와 TextView사이에 붙인다.
         Adapter시나리오의 두번째는 Adaptee의 인터페이를 디자인 시간에 알수 없을 때 이다. Adaptee의 인터페이스를 먼저 알수 없기 때문에 우리는 하나의 인터페이스에서 다른 것으로 메세지를 간단히 해석할수 없다. 이런 경우에는 메세지의 변형과 전달의 일반적 규칙에 맞추어 Pluggable Adapter를 사용한다. Tailored Adapter와 같이 Pluggable Adapter도 해석기를 Client와 Adaptee사이의 해석기를 제공한다. 하지만 각각의 특별한 경우를 위한 새로운 Adapter클래스의 정의를 필요하지 않다. Pluggable Adapter가 쓰이는 경우의 상태를 생각해보자
         상호 작용(사용자가 직접 이용하는의미)하는 어플리케이션을 위한 Model-View-Controller(MVC) 패러다임에서 View 객체들(화면상에 표현을 담당하는 widget들) 은 밑바탕에 깔려있는 어플리케이션 모델과 연결되어진다. 그래서 모델안에서의 변화는 유저 인터페이스에 반영하고 인터페이스 상에서 사용자들에 의한 변화는 밑에 위치한 되어지는 모델 데이터(moel data)에 변화를 유도한다.View객제들이 제공되어 있는 상태라서 어떠한 상호 작용하는 어플리케이션 상에서라도 그들은 ㅡ걸 사용할수 있다. 그러므로 그들은 그들의 모델과의 통신을 위해 일반적인 프로코콜을 사용한다;특별한 상황에서 모델로 보내어지는 getter message는 값이고 일반적인 setter message역시 값이다.:예를 들자면 다음 예제는 VisualWorks TextEditorView가 그것의 contects를 얻는 방법이다.
         자 그럼 여기에 예제를 보자. 우리는 employee관리 application을 가지고 있다고 가정한다.어플리케이션 모델은 하나의 인자인, employee의 사회 보장(비밀) 번호(social security number)의 포함하고 application의 사용자 인터페이스는 employee의 사회 보장 번호를 화면상에 뿌려주는 '입력 박스 뷰'를 포함한다.모델의 엑세스하고 초기화 시키기 위한 메소드는 'socialSecurity'와 'socialSecurity:'로 이름 지어져 있다. 입력 박스는 단지 현재의 사회 보장 번호를 뿌리기만 한지만 모델의 값을 요청하는 방법만을 알고있다.( DeleteMe 수정 필요 ) 그래서 우리는 value mesage를 socialSecurity로 변환 해야 한다.우리는 Pluggable Adapter 객체를 이런 목적을 위해서 사용할수 있다.자 우리의 예제를 위한 interaction 다이어 그램을 보자
         이 다이어 그램은 단순화 시킨것이다.;그것은 개념적으로 Pluggable Adpter의 수행 방식을 묘사한다.그러나, Adaptee에게 보내지는 메세지는 상징적으로 표현되는 메세지든, 우회해서 가는 메세지든 이런것들을 허가하는 perform:을 이용하여 실제로 사용된다.|Pluggable Adpater는 Symbol로서 메세지 수집자를 가질수 있고, 그것의 Adaptee에서 만약 그것이 평범한 메세지라면 수집자인 perform에게 어떠한 시간에도 이야기 할수 있다.|예를 들어서 selector 가 Symbol #socialSecurity를 참조할때 전달되는 메세지인 'anObject socialSecurity'는 'anObject perform: selector' 과 동일하다. |이것은 Pluggable Adapter나 Message-Based Pluggable Adapter에서 메세지-전달(message-forwading) 구현되는 키이다.| Adapter의 client는 Pluggable Adapter에게 메세지 수집자의 value와 value: 간에 통신을 하는걸 알린다,그리고 Adapter는 이런 내부적 수집자를 보관한다.|우리의 예제에서 이것은 client가 'Symbol #socialSecurity와 value 그리고 '#socialSecurity:'와 'value:' 이렇게 관계 지어진 Adapter와 이야기 한는걸 의미한다.|양쪽중 아무 메세지나 도착할때 Adapter는 관련있는 메세지 선택자를 그것의 'perform:'.을 사용하는 중인 Adaptee 에게 보낸다.|우리는 Sample Code부분에서 그것의 정확한 수행 방법을 볼것이다.
  • C/C++어려운선언문해석하기 . . . . 12 matches
         예제에서 제시된 것과 같이 복잡한 선언문을 사용하여 이해하기 어려운 코드를 작성하는것은 결코 좋은 프로그래밍 습관이 아니겠죠.
         좋습니다. 왜냐하면 다음과 같은 선언문을 사용하면서 실수할만한 소지를 없애주기 때문입니다. (역자주: 참고로 C++ 창시자인 Bjarne
         const 수정자는 변수가 변경되는 것을 금지 (변수 <-> 변경할 수 없다? 모순이군요 ) 하기 위해서 사용하는 키워드입니다. const 변수
         typedef는 typedef는 "* 또는 &가 형이 아닌 변수에 적용된다"라는 규칙을 극복하게 해줍니다. 다음과 같이 typedef 를 사용하게 되면
         변수 p, q 모두 char를 가리키는 포인터 변수가 됩니다. typedef가 사용되지 않았다면 q는 char를 가리키는 포인터 변수가 아니라 char 형 변수였을 텐데 솔직히 이런 사실을 모르는 경우 실수하기 쉽상이죠.
         아래에 typedef를 사용한 선언문들을 설명과 함께 나열해봅니다.
         typedef는 보통 아래에 나열한것과 같이 struct는 선언과 같이 사용됩니다. 다음과 같은 struct 선언문을 사용하면 C++ 뿐만 아니라 C에
         로그램(TSR)을 작성하는데 사용되기도 했고 Win32나 X-Windows서는 callback 함수를 작성하는데 주로 사용됩니다. 이 외에도 많은 곳에
         서 함수 포인터가 사용됩니다. 예를 들자면 가상 함수 테이블, STL의 일부 템플릿 그리고 Win NT/2K/XP의 시스템 서비스에서 사용되는
  • CCNA . . . . 12 matches
          * ethernet: CSMA/CD- 이더넷 통신에서 사용하는 프로토콜이다. 회선이 사용중이지 않을때 전송하고 충돌이 생기면 일정시간후 재전송한다.
          * 네트워크에 대한 표준 모델이며 실제로 사용되는것은 아니다.
          * TCP/IP란 프로토콜(Protocol)의 한 종류로 인터넷을 하기 위해 꼭 필요하다. ARPANET에 의해 처음으로 개발 되었으며 TCP/IP는 인터넷을 사용하는 컴퓨터라면 어디에나 세팅이 되어 있다.
          * 인터넷을 사용하기 위해서는 IP라는 주소가 필요하며 이 주소는 2진수 32개로 4묶음씩 구성된다. 각 묶음마다 10진수로 나타내어 알아보기 쉽게 만들었다. 현재 IP 버전은 4인데(IPv4) 약 43억개의 주소를 할당 할 수 있다. 그런데 이 주소가 얼마 남지 않아서 ip 버전 6으로 대체 할 것이라고 한다.(IPv6은 2의 128개로 구성되어 있다고 함.)
          * 또 서브넷마스크를 사용할때 AND연산이 필요하다.
          * ip의 생성이유 : TCP/IP프로토콜을 사용하는 모든 장비를 구분하기 위해서
          * ip주소는 2진수 32자리로 되어있음 -> 약 42억 9천개 -> 현재 사용자를 고려하면 남은 ip주소가 얼마 없음
          //네트워크를 나타낼 땐 호스트 부분을 0으로 표현. 그리고 각 클래스에서 표현 가능한것의 제일 작은 수와 제일 큰수는 사용불가.
          *호스트부분이 모두0은 네트워크, 1은 브로드캐스트 번호이므로 사용하지 않는다. -> 각 클래스에서 사용가능한 최대 호스트수는 순계산-2해줘야함.
          * 네트워크를 나눠 쓰지 않더라도, 디폴트 서브넷 마스크를 사용한다.
  • NumberBaseballGame . . . . 12 matches
         2. 이제 사용자에게 3 자리의 숫자를 입력받아 컴퓨터가 만든 수와 비교합니다.[[BR]]
          2-1. 사용자에게 받은 수와 컴퓨터가 만든 수가 같은 수에 같은 위치면 '스트라이크'.[[BR]]
          2-2. 사용자에게 받은 수와 컴퓨터가 만든 수가 같은 수에 다른 위치면 '볼'.[[BR]]
         이때 사용자가 395라는 숫자를 입력하면 '1 스트라이크 1볼'이 됩니다.[[BR]]
         사용자는 스트라이크와 볼수로 컴퓨터가 만든 수를 추리하여 찾는 것입니다.
         정답 혹은 사용자가 부르는 숫자에서 중복된 숫자가 가능합니까?
          * 정답이 373이었는데, 사용자가 369를 불렀습니다.
          * 정답이 373이었는데, 사용자가 132를 불렀습니다.
          * 정답이 373이었는데, 사용자가 339를 불렀습니다.
          * 정답이 373이었는데, 사용자가 333을 불렀습니다.
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         반대로, 사용자가 숫자를 부르면 컴퓨터가 맞추게 하는 방법도 있습니다. 두 가지를 합하면 컴퓨터와의 대결이 됩니다. ^^ (그런데 거의 이기기가 불가능합니다.) 소스는 [http://my.netian.com/~sshiskom/file/python/baseball.py 여기]에.
  • PerformanceTest . . . . 12 matches
         == HighResolutionTimer 사용하기 ==
         상기 두 Windows API함수를 사용해서 수행 시간을 측정 할 수 있습니다.
         == ftime함수, timeb 구조체의 사용 ==
         비교적 CPU와 OS에 의존적이지 않은 방법으로는 ftime 함수와 timeb 구조체를 사용하는 방법이 있습니다. 밀리세컨드 단위까지 밖에 제공되지 않습니다. sys/timeb.h 헤더에 정의된 내용이 ANSI C 는 아니라고 알고있습니다.
         === ftime 함수와 timeb 구조체 사용 예 ===
         == RDTSC 의 사용 ==
         펜티엄 이상의 CPU에서 RDTSC(Read from Time Stamp Counter)를 이용하는 방법이 있다. 펜티엄은 내부적으로 TSC(Time Stamp Counter)라는 64비트 카운터를 가지고 있는데 이 카운터의 값은 클럭 사이클마다 증가한다. RDTSC는 내부 TSC카운터의 값을 EDX와 EAX 레지스터에 복사하는 명령이다. 이 명령은 6에서 11클럭을 소요한다. Win32 API의 QueryPerformanceCounter도 이 명령을 이용해 구현한 것으로 추측된다. 인라인 어셈블러를 사용하여 다음과 같이 사용할 수 있다.
         간단하게 32비트 정수로 사용하고자 한다면 RDTSC명령이 카운터에서 가져오는 값 중에서 EAX에 담긴 값만을 가져오는 방법이 있다. 짧은 시간동안 측정한다면 EAX에 담긴 값만 가지고도 클럭을 측정할 수 있다. 64비트를 모두 이용할려면 LARGE_INTEGER 구조체를 이용한다.
         rdtscEx명령은 36클럭을 소요하며 측정 구간을 클럭 단위로 측정할 수 있는 강력한 시간 측정 방법이다. 하지만 이 방법은 클럭 수만 측정할 뿐 시간을 알 수는 없다. 정확한 시간을 알려면 시스템의 CPU클럭을 알아야 하며 측정한 클럭값을 CPU클럭으로 나누어야 시간이 나온다. RDTSC명령을 수행할 때 CPU가 수행 속도 향상을 위해서 CPU 명령 순서가 바뀔 수 있기 때문에 CPUID명령을 전에 수행해 명령 순서를 맞춰야 하는 경우도 있다. 자세한 설명은 인텔에서 제공하는 성능 모니터링을 위한 RDTSC 명령 사용법을 참조하기 바란다.
         단, 정확한 수행시간 측정을 위해서라면 전문 Profiling Tool을 이용해 보는 것은 어떨까요? NuMega DPS 같은 제품들은 수행시간 측정을 아주 편하게 할 수 있고 측정 결과도 소스 코드 레벨까지 지원해 줍니다. 마소 부록 CD에서 평가판을 찾을 수 있습니다. 단, 사용하실 때 Development Studio 가 조금 맛이 갈겁니다. 이거 나중에 NuMega DPS 지우시면 정상으로 돌아갑니다. 그럼 이만. -- '96 박성수
         멀티쓰레드로 인해 제어권이 넘어가는 것까지 고려해야 한다면 차라리 도스 같은 싱글테스킹 OS에서 알고리즘 수행시간을 계산하는게 낫지 않을까 하는 생각도 해봅니다. (하지만, 만일 TSR 프로그램 같은 것이 인터럽트 가로챈다면 역시 마찬가지 문제가 발생할듯..) 그리고 단순한 프로그램의 병목부분을 찾기 위한 수행시간 계산이라면 Visual C++ 에 있는 Profiler 를 사용하는 방법도 괜찮을 것 같습니다. 해당 함수들의 수행시간들을 보여주니까요.
  • VisualBasicClass/2006/Exam1 . . . . 12 matches
         1. 비주얼베이직에서 숫자를 표기하는 방법은 10진법, 8진법, 16진법으로 나뉘어진다. 이 중 10진법은 특별한 표기(기호)없이 사용이 가능하다. 하지만 8진법과 16진법은 '?O'와 '?H'로 표기한다. 이때 ?에 들어갈 기호는 무엇인가 (1점).
         ② ScrollBar는 수평, 수직, 양방향 모드가 있으며, 여러 줄을 사용하는 속성을 설정할 경우, 사용할 수 있다.
         ③ Text속성은 글자를 입력받는 속성으로 단축메뉴(popup menu)를 사용할 수 있다.
         ④ MultiLine은 컨트롤이 문의 여러 줄을 받아 들일 수 있는지 여부를 결정하게 된다. True는 한줄을, False는 여러줄을 사용할 수 있다.
         리스트 박스는 여러개의 선택사항을 제공한다. 이 때 리스트 박스 항목 선택은 값이 ? 일때선택 유형이 확장된 다중 선택으로 'Shift + 누름' 또는 'Shift + 화살표 키'를 사용할 수 있다.
         ② 사용자에게 제공되는 인터페이스 옵션을 중심으로 설계가 이루어진다.
         ④ 이벤트 중심의 프로그래밍 방식을 사용한다.
         D) 사용자 인터페이스 설계 및 구성
         ① 지명 인수를 사용하여인수를 서브프로그램에 전달할 때는 반드시 파라미터의 순서대로 기술하여야 한다.
         ② 인수들을 서브프로그램에 모두 다 전달하기 부적절한 경우에는 Optional이란 키워드를 사용하면 효과적이다.
         ③ 접근키를 사용할 수 없다.
  • ZeroPageServer/SubVersion . . . . 12 matches
          * 공용 저장소 (svn group에 속한 사용자들이 공동으롯 사용하는 공간)
          제로페이지의 사용자 계정이 있다면 누구나 사용이 가능하다. 대신에 로컬에는 ssh의 클라이언트(커맨드 기반)가 필요하다. (그렇지만 그룹설정이 필요하기 때문에 관리자에게 그룹으로 설정해달라고 해야합니다. 그룹이용자가 아닌 경우에는 저장소를 읽을 수는 있지만 쓰기는 하지못한다.)
          svnserver을 이용하면 사용이 간편하고 서버를 관리하기도 편하지만, 아직 SubVersion이 계정 파일로 encrypt 된 것을 지원하지 않기 때문에 패스워드 노출의 소지가 상당히 높아서 이용하지 않았다. 차후 subversion 이 이 사항을 지원하면 추가하는 것이 좋을 듯 함.
          subversion 은 http 로의 접근도 제공한다. 대신에 기본제공 프로토콜보다는 속도가 느린 단점이 있다. http 의 접근은 현재 익명계정에 대해서는 checkout, read 만 사용이 가능하며 checkin 계정을 받기 위해서는 관리자에게 다음의 정보를 메일로 보내주면 추가하는 것이 가능하다.
          사용자에게 복사되었을 때 어느정도의 안전성을 보장한다. 만약 설정하지 않으면 파일만 있다면 기타의
          확인절차없이 바로 사용이 시스템에 접속하게 된다.
          접속하기 위해서 따로 암호를 칠 필요가 없다. 물론 키파일은 rsa로 암호화된 상태이기 때문에 사용자가
          어쨋듯 상기의 방법은 단순히 SVN뿐만아니라 SSH를 사용하는 모든 서버, 클라이언트에게 해당하는
          만들어진 개인키를 USB나 메일 계정에 넣어두고 필요할때마다 받아서 사용하면 거의 문제가 없다.
          * 윈도우에서는 [TortoiseSVN] 을 이용해서 기존의 CVS와 거의 동일한 방식으로 사용하는 것이 가능하다.
  • 데블스캠프2011/첫째날/후기 . . . . 12 matches
          * 전날 누나/형들이 프로젝트하면서 nForge를 쓰시기에 '저건 뭔가?!' 하고 있었는데 오프닝하면서 바로 해결되었지요.. 문제는 SVN을 제대로 사용하는 법을 아직 잘 모르겠다라는 거일까요. 뭔가 똑같이 따라했는데 제대로 안된 느낌! (그러나 종하형 디스하는거만큼은 어렵지않게 되더군요.ㅋㅋ)
          * 처음 오프닝에서는 nForge를 처음으로 써 보게 되었습니다. 제로페이지 홈페이지 들어가면 링크는 걸려 있는데 항상 들어가 보기만 하고 여긴 뭐지? 라고만 생각했던 그런 곳이었는데 사용해 볼 수 있어 좋았습니다.
          * 데블스캠프의 가장 중요한 부분인 기록을 위해서 SVN과 위키의 사용법에 대한 설명을 하는 시간. 사실 세 번째니만큼 그렇게까지 어색한 느낌은 아니었습니다. 오히려 세 번째인데도 SVN의 사용법을 완벽하게 알고 있지 못 한 자신에 더 놀랐습니다 -_- 배웠다고 썩히지 말고 좀 더 자주자주 쓰도록 노력을 해 봅시다...
          * Play with Java에서는 1학년 때 승한이형이 여러 사람들이 함께 프로젝트를 진행할 때 누군가 어느 부분을 수정했는지 알 수 있게 해 주는 부분이 있다고 하셨었는데, 그걸 전역하고 나서야 다뤄보네요 -ㅅ-;; 쩝... 아무튼 간단한 프로그램을 만드는 것이라 재미있게 사용법도 익히고 좋았습니다. 자주 써 먹어야겠네요. ㅋ~
          * java를 이번학기에 수강을 하였기 때문에 어느정도 자신이 있었습니다만, 지원누나의 설명을 들으면서 역시 알아야 할것은 많구나 라는 생각이 들었습니다. 특히 SVN을 사용한 커밋과 JUnit은 팀플할때에도 많은 도움이 될 것 같아 좀더 공부해 보고 싶어졌습니다. 저번 java팀플때는 Github을 사용했었는데 SVN과 무슨 차이점이 있는지도 궁금해 졌구요. JUnit Test는 제가 실제로 프로그래밍 하면서 사용하였던 원시적인 test와 많은 차이가 있어서 이해하기 힘들었지만 이 또한 더 사용하기 좋은 기능인것 같아 점 더 공부해 봐야겠습니다.
          * 새내기들과 tool을 접해보지 않은 학생들이 듣기에 적합했던 세미나였다고 생각합니다. 새내기에게는 C가 아닌 언어의 문법을, 다른 학생들에게는 JUnit과 Subversion실습을 할 수 있었던게 좋았습니다. 개인적으로는 태진이와 PP를 해서 좋았습니다. 그리고 농담식으로 나왔던 "선 커밋을 해라." 라는 말이 정말 인상이 깊었습니다. 왜일까요. 이 말을 들었을 때 '신뢰를 보낸다'는 메시지처럼 느껴지기도 하고, '내 책임은 아니야'라는 메시지처럼 느껴지기도 했습니다. VCS을 사용하다보면 '커밋분쟁, 커밋갈등'이 일어날 수 있다는 걸 깨닫게 되기도 했습니다.
          * 새내기들이 자바를 맛볼 수 있는 좋은 기회였는데 막상 1학년들이 별로 없어서 아쉬웠습니다. 저 개인적으로는 다시 새내기가 된 느낌으로 차근차근 자바 코드를 작성해보는 것이 재미있었습니다. 성현이네랑 충돌나면서 역시 형상관리 툴을 실제 팀 단위로 사용하려면 형상관리를 위한 규칙을 확실히 정하고 사용해야 문제가 덜하겠다는 생각이 들었습니다.
  • 정모/2011.4.4 . . . . 12 matches
          * 튜터링 수업은 정규 수업 진도를 꼭 따라갈 필요는 없을 듯 합니다. 작년에 튜터링 수업을 들었던 경험상, 튜터 선배님이 다들 1년동안 배운 C, C++과 공통된 문법은 넘어가고 클래스부터 설명을 하였습니다. 그리고 수업 외에 이때 내가 알았으면 좋았을거다! 싶다 생각한 것을 가르쳐 주셨습니다. map, set에 대한 간단한 설명이나, UML 사용법에 관한 프린트를 뽑아와 알아두면 좋다 하시기도 하고, MVC에 대해 예시를 들어 설명하시기도 하고, 인터페이스를 저그, 프로토스, 테란의 공통된 기능을 묶어 설명하기도 하고... 열심히 연습하며 따라가면 좋았을텐데 저의 성찰일지는 늘 공부를 했어야 했는데...로 끝났다는 게 미스지만요ㅠㅠ([강소현])
          * 뭐하러 그렇게 열심히 하나? 그냥 날로 먹어도 좋은 것 같다. 굳이 열심히 하고 싶다면 수업에 얽매이지 말고 가르치고 싶은 것을 가르쳐라. 가령 수업중엔 배울 수 없는 이클립스 or 넷빈즈 사용법이라던가.([김수경])
         == 캡스톤 설계실 사용 안내 ==
          * 도와줘요 ZeroPage에서 무언가 영감을 받았습니다. 다음 새싹 때 이를 활용하여 설명을 해야겠습니다. OMS를 보며 SE시간에 배웠던 waterfall, 애자일, TDD 등을 되집어보는 시간이 되어 좋았습니다. 그리고 팀플을 할 때 완벽하게 이뤄졌던 예로 창설을 들었었는데, 다시 생각해보니 아니라는 걸 깨달았어요. 한명은 새로운 방식으로 하는 걸 좋아해서 교수님이 언뜻 알려주신 C언어 비슷한 언어를 사용해 혼자 따로 하고, 한명은 놀고, 저랑 다른 팀원은 기존 방식인 그림 아이콘을 사용해서 작업했었습니다 ㄷㄷ 그리고, 기존 방식과 새로운 방식 중 잘 돌아가는 방식을 사용했던 기억이.. 완성도가 높았던 다른 교양 발표 팀플은 한 선배가 중심이 되서 PPT를 만들고, 나머지들은 자료와 사진을 모아서 드렸던 기억이.. 으으.. 제대로 된 팀플을 한 기억이 없네요 ㅠㅠ 코드레이스는 페어로 진행했는데, 자바는 이클립스가 없다고 해서, C언어를 선택했습니다. 도구에 의존하던 폐해가 이렇게..ㅠㅠ 진도가 느려서 망한줄 알았는데, 막판에 현이의 아이디어가 돋보였어요. 메인함수는 급할 때 모든 것을 포용해주나 봅니다 ㄷㄷㄷ 제가 잘 몰라서 파트너가 고생이 많았습니다. 미안ㅠㅠ [http://en.wikipedia.org/wiki/Professor_Layton 레이튼 교수]가 실제로 게임으로 있었군요!! 철자를 다 틀렸네, R이 아니었어 ㅠㅠ- [강소현]
          1. 작년에 프로젝트를 진행하면서 Agile 프로세스를 도입하고 싶었는데 생소한 개념에 대해 생소한 용어로 설명하다 팀원들의 관심을 얻지 못한 경험이 있습니다. 그래서 OMS를 준비하며 Agile이라는 말도 하지 말고 Agile을 소개해보자!! 하는 생각에 '더 나은 프로젝트 만들기'라고 주제를 잡았습니다. 용어를 하나도 사용하지 않으려다보니 이번엔 너무 붕 뜨게 설명하게 된 것이 아쉬운 점입니다. 제가 Agile에 대해 정말 잘 안다면 어떠한 용어를 사용하지 않고도 쉽게 설명할 수 있었을텐데 그렇지 못한 것이 안타깝네요.
          1. 그리고 이건 별도로 하는 말이지만 저는 시도때도 없이 공격적인 사람은 아닙니다. 어제의 경우 저의 잘못이 없는 상태에서(종이에는 분명 사용 전 제출이라고 적혀있었지 사용 몇일 전에 제출하라는 말은 없었습니다.) 아저씨께서 먼저 비꼬듯이 말씀하셨습니다. 아마 아저씨께서 비꼬지 않고 다음부터는 일찍 가져다달라고만 하셨으면 저도 웃으면서 다음부턴 그렇게 하겠노라고 말씀드렸을 것입니다.
          * 음, 이번에 강의실 대여 논의때 "내가 너무 돈을 밝히는 듯한 언행을 해 오진 않았는지"를 생각해볼 수 있었습니다. 답은 "YES"고요....... 자중해야겠습니다. TDD의 경우는, 제가 평소 뭔가를 만들 때(특히 OOPHP Application) 흔히 사용하던 방식이라(클래스를 만들고 밑에 작동 코드를 적은 다음 브라우저로 확인) 조금만 더 노력하면 다른 곳에서도 사용할 수 있을 것 같습니다. 페어 프로그래밍은...... 소현 누님. 결코 누님의 탓이 아닙니다....... <( ºДº)> - [황현]
  • Gof/AbstractFactory . . . . 11 matches
         이 문제는 기본적인 Widget의 인터페이스를 정의한 abstract WidgetFactory 클래스를 정의함으로써 해결할 수 있다. 또한 모든 종류의 Widget에는 추상클래스가 존재한다, 그리고 구체적인 서브 클래스는 Widget을 상속해서 룩앤필 기본을 정의한다. WidgetFactory의 인터페이스는 각각의 추상 Widget 클래스의 새로운 객체를 반환하는 기능을 가지고 있다. 클라이언트는 이런 기능을 수행해서 Widget 인스턴스를 만든다. 그러나 클라이언트는 사용하는 클래스의 구체적인 내용에 대해서는 신경쓰지 않는다. 이처럼 클라이언트는 일반적인(?) 룩앤필의 독립성에 의존한다.
         또한 WidgetFactory는 widget 클래스 간의 의존관계를 형성한다. Motif 스크롤바는 Motif 버튼과 Motif 텍스트 에디터와 함께 사용되어야 한다, 그리고 MotifWidgetFactory를 사용함으로써 이러한 의존성이 강제적으로 이루어지게 된다.
         이럴 때 Abstract Factory 패턴을 사용해라
          * 어떤 연관된 집합의 객체들이 서로 같이 사용될 수 있도록 디자인되어지게 강제해야 할 때.
          * AbstractFactory에 의해서 정의된 인터페이스와 AbstractProduct 클래스만을 사용한다.
          클라이언트는 서로 다른 concrete factory를 사용해야 한다.
          이는 conncrete factory를 쉽게 전환해서 사용할 수 있도록 해주고. 이로써 간단하게 concrete factory만 바꿔줌으로서 서로다른 산물의 조건을 쉽게 쓸수 있다.
          3. ''산물간의 일관성을 촉진한다.'' 어떤 집합내의 객체들이 서로 협력하도록 고안되었다면, 어떤 어플리케이션은 한번에 단 하나의 집합에서 객체를 사용하는 것이 중요하다.
          InterViews 는 AbstractFactory 클래스들을 나타내기 위해서 'Kit'를 접미사로 사용한다. 이것은 WidgetKit과 DialogKit abstract factory 들을 명확한 ["룩앤필"] UI 객체를 위해서 정의한다. InterViews는 또한 서로 다른 복합 객체를 생성하는 LayoutKit 을 포함다. 예를 들면, 어떤 layout은 문서의 방향(인물이나 풍경)에 따른 서로 다른 복합 객체를 개념적으로 정렬한다.
          ET++[WGM88]은 다른 윈도우 시스템(예를 들면, X Windows 와 SunViews)간의 호환을 수행하기 위해서 Abstract Factory 패턴을 사용했다. 윈도우 시스템의 추상 base 클래스는 윈도우시스템의 자원 객체(예를 들면, MakeWindow, MakeFont, MakeColor)를 생성할 수 있는 인터페이스를 정의한다. Concrete 서브 클래스는 특정 윈도우 시스템에 인터페이스를 수행한다.
  • Gof/FactoryMethod . . . . 11 matches
         Framework(이하 Framework 그대로)는 객체사이의 관게를 정의하고, 유지하기 위하여 가상 클래스들을 사용한다. Framework는 종종 이러한 클래스들을 기반으로 객체의 생성에 책임을 진다.
         여러 문서를 사용자에게 보여줄수 있는 어플리케이션에 대한 Framework에 대하여 생각해 보자. 이러한 Framework에서 두가지의 추상화에 대한 요점은, Application과 Document클래스 일것이다. 이 두 클래스다 추상적이고, 클라이언트는 그들의 Application에 알맞게 명세 사항을 구현해야 한다. 예를들어서 Drawing Application을 만들려면 우리는 DrawingApplication 과 DrawingDocument 클래스를 구현해야 한다. Application클래스는 Document 클래스를 관리한다. 그리고 사용자가 Open이나 New를 메뉴에서 선택하였을때 이들을 생성한다.
         Fatory Method 패턴은 이럴때 사용한다.
          이러한 제한에서는 모양에따라, 각 상테에 따라 객체를 분리하는 것이 더 좋을 것이고, 각자 필요로하는 상태를 유지 해야한다. 서로 다른 모양은 서로다른 Manipulator의 sub클래스를 사용해서 움직여야 한다.이러한 Manipulator클래스와 상속은 병렬적으로 이루어 진다. 다음과 같은 모양 같이 말이다.
          '''첫번째''' 경우는 코드가 구현된 sub클래스를 요구한다. 왜냐하면, 적당한 기본 구현 사항이 없기때문이다. 예상할수 없는 클래스에 관한 코드를 구현한다는 것은 딜레마이다. '''두번째'''경우에는 유연성을 위해서 concrete Creator가 factory method 먼저 사용해야 하는 경우이다. 다음과 같은 규칙을 이야기 힌다."서로 분리된 수행 방법으로, 객체를 생성하라, 그렇게 해서 sub클래스들은 그들이 생성될수 있는 방법을 오버라이드(override)할수 있다." 이 규칙은 sub클래스의 디자이너들이 필요하다면, 그들 고유의 객체에 관련한 기능으로 sub클래스 단에게 바꿀수 있을음 의미한다.
          2. ''Parameterized factory methods''(그대로 쓴다.) Factory Method패턴에서 또 다른 변수라면 다양한 종류의 product를 사용할때 이다. factory method는 생성된 객체의 종류를 확인하는 인자를 가지고 있다. 모든 객체에 대하여 factory method는 아마 Product 인터페이스를 공유할 것이다. Document예제에서, Application은 아마도 다양한 종류의 Document를 지원해야 한다. 당신은 CreateDocument에게 document생성시 종류를 판별하는 인자 하나를 넘긴다.
          Unidraw 그래픽 에디터 Framework는 디스크에 저장된 객체의 재 생성을 위하여 이러한 접근법을 사용하고 있다. Unidraw는 factory method를 이용한 Creator 클래스가 식별자를 가지고 있도록 정의해 두었다. 이 클래스 식별자는 적합한 클래스를 기술하고 있다. Unidraw가 객체를 디스크에 저장할때 이 클래스 식별자가 인스턴스 변수의 어떤것 보다도 앞에 기록 되는 것이다. 그리고 디스크에서 다시 객체들이 생성될때 이 식별자를 역시 가장 먼저 읽는다.
          클래스 식별자를 읽고서 Framework는 식별자를 Create에게 넘기면서 호출한다. Create는 적당한 클래스를 찾고, 그것을 객체의 생성에 사용한다. 마지막으로 Create는 객체의 Read 수행을 호출하여 디스크에 정보를 저장하고, 인스턴스 변수들을 초기화 한다.
          Smalltalk프로그래머들은 종종 구체적으로 구현되어 있는 객체의 클래스를 반환하는 메소드를 사용한다. Creator의 factory method는 이러한 값을 사용하여 product를 만들어 내고, ConcreteCreator는 아마 저장하거나, 이러한 값으 계산을 수행한다. 이러한 결과는 구현되어 있는 ConcreteProduct의 형을 위하여 바인딩 조차 나중에 하게 된다.
  • HelpOnUserPreferences . . . . 11 matches
         == 사용자 환경 설정 ==
         위키위키를 여행하시는데에 사용자 등록을 하시면 편리합니다. 사용자 등록을 마친 후에는 우상단의 아이콘에 [[Icon(home)]]이 보이게 되며, 자신만의 [위키홈페이지]를 만들어 보실 수도 있습니다.
          * '''[[GetText(Name)]]''': 사용자의 실제 이름 혹은 별명. WikiName 형식으로 만들면 편리합니다.
          * '''[[GetText(Password)]]''': 비밀번호는 다른사람이 쉽게 알거나 추측할 수 없는 것을 사용하시기 바랍니다.
          * 웹상의 비번은 쉽게 노출될 가능성이 많으므로 가능한 노출되어도 큰 문제가 되지 않을 비밀번호를 사용하시기 바랍니다.
          * '''[[GetText(Password repeat)]]''': 초기 사용자 등록시에 나타납니다. 바로 위에서 입력했던 비밀번호를 확인하는 단계로, 조금 전에 넣어주었던 비밀번호를 그대로 집어넣어 주시면 됩니다.
          * '''[[GetText(Email)]]''': 자주 쓸 이메일 주소. 이메일 주소를 넣어주면 원하는 위키페이지에 대하여 그 변경점을 구독신청하거나 취소하실 수 있습니다. 비밀번호를 잊으셨을 경우에도 이 이메일 주소를 사용해 새로운 비밀번호를 등록하실 수 있습니다.
          * '''[[GetText(User CSS URL)]]''': 자신이 원하는 CSS로 변경하고 싶을 경우에 사용합니다.
          * '''[[GetText(Subscribed wiki pages (one regex per line))]]''': 모든 페이지의 변경알림을 받아보고 싶은 경우에 '''`.*`''' 를 집어넣으시면 됩니다. (위키위키가 많은 변경이 있는 경우 권장하지 않습니다.) 각 페이지를 보고싶은 경우에는 각각의 페이지 이름을 줄 단위로 넣으시면 됩니다. 정규식에 익숙하신 사용자의 경우에 정규식을 사용하실 수도 있습니다. 설정에 따라서 상단의 아이콘 툴바에 [[Icon(email)]]이 나타날 수 있으며, 이메일 아이콘을 누르면 해당 페이지를 구독하는 폼이 뜨게 됩니다.
  • JavaScript/2011년스터디/3월이전 . . . . 11 matches
          * for each문을 사용하는 법.
          * void 연산자를 사용하면 피연산자의 값에 상관없이 undefined를 반환한다.
          * try/throw/catch/finally 의 사용 -> finally는 모든 try, catch를 나와서 사용
          * with함수 사용시 발생할 수 있는 오류에 대해 알고싶다...(책에서는 생략함)
          * 클로저의 정의와 사용...ㅠ
          * 함수가 데이터로써 사용될수 있다는점
          * 프로토타입의 정의와 사용 상속부분이 다른 언어와는 다르다.
          * 네임스페이스 사용 시 org.zeropage.namespace는 되고 org.zeropage.namespace.function1은 안 되는 이유
          * 익명함수를 사용한 Dynamic programming
          * 네임스페이스 사용 시 org.zeropage.namespace는 되고 org.zeropage.namespace.function1은 안 되는 이유
  • LUA_5 . . . . 11 matches
         해쉬 테이블로 사용하기
         여기서 ["a"] 는 키 값으로 사용 되었고 1는 ["a"]에 맴핑 된 값으로 사용 되었습니다. 키 값은 단순히 값으로 말고 변수로도 사용 할 수 있습니다.
         대신 값으로 키값을 사용할때와는 다르게 변수에서는 테이블명에 . 로도 변수를 참조할 수 있습니다. HashT2["a"] 로도 참조 가능합니다.
         그렇기 때문에 테이블은 배열로도 사용 될 수 있습니다. 그럼 배열에 추가적으로 insert 하고 remove 해 보겠습니다.
         그리고 만약 배열로 사용하는 테이블 내의 값들을 정렬하고 싶으면 table.sort를 사용하면 됩니다.
         지금까지는 간단히 테이블을 자료구조로 사용하였는데, 루아에서는 거의 모든 것이 테이블의 키로 사용 될 수 있기 때문에 테이블과 함수를 연결 할 수 있습니다.
         >> return { Go = Go } -- 여기서 local function Go를 반환하므로 Car에 대한 맴버 함수로 사용할 수 있다.
  • XMLStudy_2002/Resource . . . . 11 matches
         XML을 사용하기 위해 필요한 것들
         == XML 사용자 그룹에 따라 ==
         === 일반 XML 사용자(XML End User) ===
         == 종류에 따라서 XML 사용시에 필요한 것들 ==
          *XML도구와 자원들을 특성에 따라 프로그램 형식의 도구와 패키지 형식의 소스 레벨에서 사용할수 있는 도구와 문서 형식의 자원들과 같은 종류로 나눔
         === XML 사용을 위한 프로그램들 ===
         === XML을 지원하는 응용 프로그램 개발시에 사용되는 라이브러리/패키지(소스 레벨에서 사용할수 있는 도구들임) ===
          *XML은 계속 변화하면서 너무나 빠르게 새로운 내용이 발표되고 XML을 사용하기 위해 필요로 하는 여러 소프트웨어적인 도구들도 빠르게 버전업 되므로 항상 이러한 흐름을 주시해야 할 필요가 있다.
          *기본적으로 IE5.0이상에는 XML 파서와 XSL프로세서를 사용하기 때문에 XML과 XSL지원이 가능한데, IE에서 사용하고 있는 XML 파서와 XSL 프로세서가 MSXML로 dll 파일의 형태로 되어있다.
  • django/RetrievingObject . . . . 11 matches
         한 모델에 대해서는 여러 가지 필터를 설치할 수 있다. 필터는 SQL문에서 where절에 해당하는 역할을 한다. 필터에는 검색하는 컬럼의 완전 일치, 부분 일치, 사이 값, 포함, 연월일 옵션을 줄 수 있다. 기본적으로 필터는 AND 조합으로 이루어지며, OR조합을 사용하고 싶다면 Q라는 쿼리 오브젝트를 사용해야 한다.[9] 아래는 필터를 이용해 보고 날짜가2006년 10월 1일 이후인 위험 보고서를 찾는 python코드와 그에 해당하는 SQL문을 보여준다.
         일대다 관계인 레코드의 경우는 selete_related메소드를 이용하면 데이터베이스 접근 횟수를 줄일 수 있다. 일반적인 데이터베이스 조회는 추상화되어있어 실행할 때마다 쿼리를 수행한다. 하지만 selete_related메소드를 사용하면 한 번 데이터베이스에서 결과를 가져온 후 필요할 때는 이를 그대로 사용한다. 다음 예제에서 두 방식이 어떻게 다른지 확인할 수 있다.
         사용자는 원하는 경우 extra메서드를 이용해 원하는 컬럼을 추가한 결과를 얻을 수 있다. 다음은 2006년 1월 1일 이후 보고서를 최신으로 표시하는 컬럼을 가진 리포트 정보를 가져온다.
         extra메소드를 사용하면 다음과 같은 조금 복잡한 질의도 할 수 있다. 각 직원이 몇 번이나 위험 보고서를 작성했는지 알아낸다.
         where절을 사용하는 것 역시 가능하다.[7] 하지만 중첩질의는 지원하지 않는다.
         사용자는 values함수를 이용해서 원하는 속성을 지정할 수 있다. 이는 검색 조건을 만족하는 레코드의 필요한 속성만을 이용하므로 효율적이다. 또한 values함수는 QuerySet을 상속한 ValuesQuerySet을 리턴하므로 다시 위에서 사용한 검색 조건을 사용할 수 있다. 하지만 ValuesQuerySet은 사전형(dictionary) 자료구조를 가지고 있기 때문에, 많은 수의 레코드를 얻어오기에는 부적절하다. 다음은 사원 정보에서 이메일 속성만을 얻어온다.
         Django에서 기본적으로 제공하는 조인 연산은 없다. SQL문을 직접 수행하여 원하는 결과를 얻을 수 있다. 이는 JDBC의 인터페이스와 비슷하며, 커서를 이용하여 질의를 수행한 결과를 하나씩 얻어오는 방식을 사용한다. 다음은 특정 부서 에서 시행한 위험 관리 대책을 얻어오는 함수이다.
  • zennith/w2kDefaultProcess . . . . 11 matches
         Win32.sys가 Win32 subsystem의 커널모드 부분인데 비해서 Csrss.exe는 사용자모드 부
         작업관리줄, 바탕화면 등과 같은 사용자 셸로서 Windows의 작동에 있어 필수적인 요소
         시스템 시작과 함께 구동되는 프로세스로 사용자가 지정한 여러가지 입력로케일
         시스템 트레이에 "EN" 아이콘을 띄움으로써 사용자가 입력로케일간에 변환을 손쉽게
         로컬 보안 인증 서버로서 Winlogon 서비스가 사용자를 인증하는데 필요한 프로세스를
         다. 인증이 성공하면 Lsass는 해당 사용자의 Access Token을 생성하고 이를 이용해 초
         기 셸이 구동된다. 동 사용자가 초기화하는 다른 프로세스들은 이 Access Token의 지
         사용자가 미리 지정한 시간에 작업을 실행시키는 Task Scheduler Service
         사용자 세션을 시작시키는 세션 관리자 subsystem으로서 시스템 쓰레드에 의해 초기화
         사용자 로그온 및 로그오프를 관리하는 프로세스로서 사용자가 Ctrl+Alt+Del를 눌러
  • 졸업논문/결론 . . . . 11 matches
         이때까지 살펴본 바, django는 데이터베이스를 이용하는 패턴을 대부분 추상화하여 사용할 수 있도록 지원한다. 모델과 데이터베이스를 연동하여, 주언어인 python으로 모델만 수정하더라도 데이터베이스에 이를 반영할 수 있다. 또한 데이터베이스를 객체로 생각하고, 삽입과 갱신은 객체를 저장하는 것으로, 조회를 객체의 인스턴스를 얻어오는 것으로, 삭제를 인스턴스를 삭제하는 것으로 추상화하였다. 이러한 추상화로 모자란 부분은 사용자가 직접 SQL을 작성할 수 있도록 지원하고 있다.
         기존의 웹 어플리케이션을 만들 때 설계한 대로 데이터베이스를 사용하도록 프로그래밍 하는 시간을 줄였다. 기민하게 웹 어플리케이션을 작성할 수 있기 때문에, 개발자는 데이터베이스를 올바로 설계하고 사용자에게 정말로 필요한 기능을 구현하는 데 집중할 수 있다. 또한 실제로 사용하기에 부족한 점이 있더라도, 프로토타입을 만들어 보려면 더할 나위 없이 좋은 프레임워크라고 생각한다.
         RoR와 django 같은 경량 프로그래밍 기법이 힘을 얻는 또 다은 이유는, 강력한 표현력을 가진 주언어를 사용할 수 있기 때문이다. Ruby와 python은 스크립트 언어의 성격을 가지고 있으며, 객체 지향 개념과 함수형 프로그래밍 언어의 패러다임을 포함한다. 비록 느려서 시스템 프로그래밍에 사용하기에는 적당하지 않지만, 동적으로 빠르게 변하는 웹 환경에서는 ruby와 python같은 언어가 변화를 손쉽게 따라갈 수 있어 적당하다.
         웹2.0은 웹을 플랫폼으로 생각한다. 플랫폼이 바뀌면 언어도 바뀐다. 웹 2.0이후에는 변화가 더욱 빨라질 것이고, 변화에 알맞는 새로운 개념과 기술과 언어가 생겨날 것이다. 하지만 기존에 널리 사용하던 기술은 변화를 맞더라도 쉽게 자리를 내주지는 않을 것이다. 따라서 변화를 만들어가는 입장에서는 기존 플랫폼, 기술, 언어와 연동할 수 있는 연결고리를 만들어서 기존의 것은 그대로 사용하면서 더 나은 것을 보여주어야 한다. Django의 사례는 기존 데이터베이스를 그대로 사용하면서도 사용자에게는 추상화된 데이터 저장고를 제공하는 변화의 연결고리를 보여주고 있다.
  • 코드레이스/2007/RUR_PLE . . . . 11 matches
          * 로봇 사용법 20분
          * Python 언어를 사용하여 컴퓨터 프로그래밍 언어를 배울수 있는 환경이다.
          * 실제로 로봇에 프로그래밍 해서 그 로봇이 현실에서 자신이 프로그래밍 하는데로 움직이는것을 보면 정말 좋겠지만 여건이 안되는 만큼 -_-; 화면으로나마 그 로봇이 움직이는 것을 보면서 프로그래밍 해볼 수 있다. 여기에서 작성하는 코드들이 무슨 쓸모가 있을까 싶기도 하겠지만, 추후에 실제 로봇의 동작을 프로그래밍해서 넣는다면 여기서 쓰이는 방식과 비슷하게 넣을것이다.(하드웨어적으로 복잡한것을 명령어로 추상화 시킨다음에 그 명령어을 적절하게 복합적으로 사용하여 원하는 행동을 로봇이 하게 만드는 식으로..) 즉 말그대로 로봇 프로그래밍을 간접적으로나 해볼 수 있다.
         = 간단한 러플 사용법 =
          * repeat 명령어를 써서 여러번 수행해야 하는 함수(명령어 포함)을 한번에 방복 횟수만 지정해서 사용할 수 있다.
         == if 문 사용 ==
          * 위의 if문과 함수 정의, repeat를 사용하여 아래 화면과 같은 상황을 처리한다.
         === else 문 사용 ===
          * not은 아래와 같은 식으로 사용한다.
          * 아래와 같은 식으로 사용한다.
          * while문을 사용하여 중복된 씨앗의 개수가 2 이상인 임의의 개수일 경우에도 처리 가능하게 위 소스를 수정한다.
  • 1thPCinCAUCSE . . . . 10 matches
          * 사용언어: C/C++ with Visual C++ 6.0
          * 휴대폰, 인터넷 사용 금지
          * 개인 디스켓, CD 등 휴대 금지. 디스켓은 나눠준 것만 사용.
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
          4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 팀의 컴퓨터에서 실행한다. 이점을 유의할 것. 즉, 자기 컴퓨터에만 있는 특수한 기능을 사용하게 되면, 채점 팀 컴퓨터에서는 안 돌아 갈 수 있음.
         아쉬운 점이라면, 국내 대학생 프로그램 경진 대회와 acm의 icpc를 모델로 하는 듯 한데, 그렇다면 사용언어와 플랫폼 역시 좀 선택의 폭 을 넓게 해주는 게 좋지 않을까 하군요.
         물론 C나 C++을 사용해야만 하는 상황 자체가 하나의 과제 상황이 되고 덕분에 여러가지 공부가 되긴 하겠 지만, 우리는 "왜 C/C++ 밖에 사용할 수 없느냐"는 조금 더 본질적인 질문을 해봐야 합니다. 특히 학과 분위기가 C/C++ 쪽으로 편중되어 있는 상황에서는 말이죠.
         C/C++(VC++6.0)만 사용할 수 있는 상황에서는 ["STL"]을 사용하냐 안하냐가 엄청난 차이를 불러올 것이라 생각한다. 그리고 팀이 두명이냐 세명이냐도 중요하긴 할 터인데, 어떻게 조직적으로 잘 활용하느냐에 따라 차이가 있기도 하고 별로 없기도 할 것이다. 또한 자가 테스트를 통해 어느 정도 검증된 프로그램만 제출을 할 수 있다면 페널티를 줄일 수 있기 때문에 훨씬 유리할 것이다.
  • 5인용C++스터디/키보드및마우스의입출력 . . . . 10 matches
          키보드로부터 입력이 발생했을 경우 윈도우즈는 포커스를 가진 프로그램에게 키보드 메시지(WM_CHAR)를 보내주며 프로그램은 이 메시지를 받아 키보드 입력을 처리한다. 여기서 포커스(Focus)를 가진 프로그램이란 활성화되어 있는 윈도우를 말하며 한번에 오직 하나의 프로그램만 활성화된다. 아무리 여러개의 프로그램이 동시에 실행되는 멀티 태스킹 환경이라 하더라도 활성화될 수 있는 프로그램은 오직 하나밖에 없으며 활성화된 프로그램만 포커스를 가지고 키보드 입력을 받아들일 수 있다. 왜냐하면 시스템에 키보드는 하나뿐이며 키보드를 사용할 수 있는 사용자도 하나뿐이기 때문이다.
          소스를 입력한 후 실행해 보자. 키보드에서 키를 누르면 입력한 문자들이 화면 상단에 출력될 것이다.WndProc을 보면 우선 문자열 str이 선언되어 있으며 이 문자열 변수에 사용자가 입력한 문자들을 모은다. 단 이 변수는 WndProc에 선언되어 있는 지역변수이므로 그냥 선언하면 메시지가 발생할 때마다 초기화되기 때문에 static을 붙여 정적변수로 만들어 두어야 한다. 아니면 아예 WinMain 함수 이전에 선언하여 전역 변수로 만들어 두어도 된다.
          WM_CHAR 메시지는 입력된 문자의 아스키 코드를 wParam으로 전달하도록 되어 있으며 우리는 wParam의 값을 읽어 사용자가 어떤 키를 눌렀는지를 알아내게 된다.
          키보드로부터 문자를 입력받고자 할 경우는 WM_CHAR 메시지를 사용하면 된다는 것을 배웠다. 문자 이외의 키를 입력 받으려면 WM_CHAR 메시지만으로는 입력을 받을 수 없다. 예를 들어 커서 이동키라든가 Ins, Del, PgUp, 펑션키 등의 키는 문자키가 아니기 때문에 WM_CHAR 메시지로는 검출해 낼 수 없다. 이때는 WM_KEYDOWN 메시지를 사용해야 한다.
         키보드에서 A키를 눌렀다 뗐다고 해 보자. 이 때 발생하는 메시지는 순서대로 WM_KEYDOWN, WM_CHAR, WM_KEYUP 세가지이다. 이 중 WM_CHAR 메시지는 사용자에 의해 발생하는 메시지가 아니다. 키보드로부터 전달되는 메시지는 키를 누를 때 WM_KEYDOWN, 키를 뗄 때 WM_KEYUP 두가지뿐이다. 그럼 WM_CHAR 메시지는 어디서 발생할까? 이 메시지는 WM_KEYDOWN에 의해 추가로 발생하는 메시지이며 메시지 루프에서 인위적으로 생성된다. 전의 코드 내용 중의 메시지 루프를 다시 보자.
         윈도우즈와 같은 GUI운영체제에서는 키보드보다 마우스가 더 많이 사용된다. 윈도우즈의 공식 입력 장치는 키보드이지만 그래픽 툴이나 DTP, CAD 등의 복잡한 프로그램에서는 마우스가 주요 입력 장치로 사용된다. 키보드 입력 처리를 메시지로 하는 것과 마찬가지로 마우스 입력 처리도 메시지를 받아 처리한다. 마우스 입력에 관한 메시지는 다음과 같은 종류가 있다.
         마우스 메시지는 lParam의 상위 워드에 마우스 버튼이 눌러진 y좌표, 하위 워드에 x좌표를 가지며 좌표값을 검출해 내기 위해 HIWORD, LOWORD 등의 매크로 함수를 사용한다. 즉 마우스 메시지가 발생한 위치의 좌표는 (LOWORD(lParam), HIWORD(lParam))이 된다.
  • Ant . . . . 10 matches
          * 왜 Ant 를 사용해야 하나?
          make.gnumake,nmake,jam 과 같은 다른 Build 툴은 놔두고 왜 Ant 를 써야하는가에 대한 질문이다. Java 기반으로 프로그램을 짜고 컴파일 및 배포용 쉘 프로그램을 짜봤는가? 해봤다면 그것의 어려움을 잘 알것이다. 각 [OS] 마다 쉘 스크립트가 다르고 일반적으로 사용하고 있는 Unix 에는 또 각종 쉘들이 존재한다. 윈도우 쉘 또한 복잡하긴 매한가지이고 프로그램을 모두 작성하고 컴파일 및 배포 쉘 스크립트를 작성하기 위해서 이것들을 모두 작성하는것 자체가 프로그래머에게 또 하나의 고난이 아닐까 생각한다.(즉, 쉘 프로그램을 배워야 한다는 의미이다.)
          Ant 를 사용하여 Build 하기 위해서는 JAXP 호환 XML파서가 있어야 합니다. 그런데 Ant 를 다운받으면 그 패키지 안에 포함되어 있으므로 따로 다운받으실 필요는 없습니다. JAXP 에 대해서는 http://java.sun.com/xml/ 정보를 얻을 수 있습니다.
          이것은 build 파일을 test.xml 이라는 파일을 build 파일로 사용해서 build 하겠다는 의미입니다.
          위의 예에 하나가 추가됐죠? -D 옵션은 Build 파일의 Property task 와 같은 역할을 합니다. 즉 Build File 내부에서 사용되는 일종의 변수를 선언한다고 볼 수 있겠죠? ^^
          || basedir || 프로젝트의 base 디렉토리를 말한다. ant 내부에서 사용되는 모든 path 들은 이 디렉토리를 기반으로 한다. || No ||
          추가적으로 ''project'' 태그 뒤에 ''description'' 이란 태그를 사용하여 Project 를 설명할 수 있다.
          의존관계외에 target을 수행하기 위해서 조건을 걸어서 사용할 수 있다. 이는 "'if'"와 "'unless'" 라는 attribute 를 사용해서 할 수 있다. 형식은 다음과 같다.
          * '''Build File''' : Build 의 순서 및 각 단계별 작업들에 대해서 xml 형식으로 적어놓은 파일을 말한다. Ant 에서는 default 로 build.xml 을 사용한다.
  • AspectOrientedProgramming . . . . 10 matches
          AOP에서는 aspect라는 새로운 프로그램 구조를 정의해 사용한다. 이는 쉽게 struct, class, interface 등과 같이 특정한 용도의 구조라 생각하면 된다. Aspect 내에는 프로그램의 여러 모듈들에 흩어져 있는 기능(하나의 기능이 여러 모듈에 흩어져 있음을 뜻한다)을 모아 정의하게 된다. 전체적으로, 어플리케이션의 각각의 클래스는 자신에게 주어진 기능만을 수행하고, 추가된 각 aspect들이 횡단적인 행위(기능)들을 모아 처리하며 전체 프로그램을 이루는 형태가 만들어진다.
          이해를 돕기 위해, 그리고 설명을 쉽게 하기 위해 예를 들어가며 AOP 개념을 설명토록 하겠다. 어플리케이션의 여러 스레드들이 하나의 데이터를 공유하는 상황을 가정해보자. 공유 데이터는 Data라는 객체(Data 클래스의 인스턴스)로 캡슐화되어 있다. 서로 다른 여러 클래스의 인스턴스들이 하나의 Data 객체를 사용하고 있으나 이 공유 데이터에 접근할 수 있는 객체는 한 번에 하나씩이어야만 한다. 그렇다면 어떤 형태이건 동기화 메커니즘이 도입되어야 할 것이다. 즉, 어떤 한 객체가 데이터를 사용중이라면 Data 객체는 잠겨(lock)져야 하며, 사용이 끝났을 때 해제(unlock)되어야 한다. 전통적인 해결책은 공유 데이터를 사용하는 모든 클래스들이 하나의 공통 부모 클래스(“worker” 라 부르도록 하자)로부터 파생되는 형태이다. worker 클래스에는 lock()과 unlock() 메소드를 정의하여 작업의 시작과 끝에 이 메소드를 호출토록 하면 된다. 하지만 이런 형태는 다음과 문제들을 파생시킨다.
          1. 공유 데이터를 사용하는 메소드는 상당히 주의해서 작성되어야 한다. 동기화 코드를 잘못 삽입하면 데드락(dead-lock)이 발생하거나 데이터 영속성이 깨질 수 있다. 또한 메소드 내부는 본래의 기능과 관련 없는 동기화 관련 코드들로 더럽혀질 것이다.
          1. 재활용성(reusability)이 감소된다. worker 클래스는 동기화가 필요치 않는 클래스나 심지어 다른 동기화 메커니즘이 필요한 상황에서도 사용하길 원할 수 있다. 동기화 관련 코드를 삽입함으로써 worker 클래스는 특정 어플리케이션에 종속적인 클래스로 전락하게 된다.
          1. Data 객체를 사용하는 클래스들을 위해 lock 및 unlock 메커니즘을 제공한다(lock(), unlock()).
          1. 이상의 기능을 Data 객체를 사용하는 클래스의 자바 소스를 변경하지 않고 투명하게 수행한다.
          특정 메소드(ex. 객체 생성 과정 추적) 호출을 로깅할 경우 aspect가 도움이 될 수 있다. 기존 방법대로라면 log() 메소드를 만들어 놓은 후, 자바 소스에서 로깅을 원하는 메소드를 찾아 log()를 호출하는 형태를 취해야할 것이다. 여기서 AOP를 사용하면 원본 자바 코드를 수정할 필요 없이 원하는 위치에서 원하는 로깅을 수행할 수 있다. 이런 작업 모두는 aspect라는 외부 모듈에 의해 수행된다. 또 다른 예로 예외 처리가 있다. Aspect를 이용해 여러 클래스들의 산재된 메소드들에 영향을 주는 catch() 조항(clause)을 정의해 어플리케이션 전체에 걸친 지속적이고 일관적으로 예외를 처리할 수 있다.
  • Eclipse . . . . 10 matches
         Eclipse에서는 내부의 CVS 클라이언트를 사용한다.[[BR]]
          * J-Creator가 초보자에게 사용하기 좋은 툴이였지만 조금씩 머리가 커가면서 제약과 기능의 빈약이 눈에 띕니다. 얼마전 파이썬 3차 세미나 후 Eclipse를 알게 되면서 매력에 푹 빠지게 되었습니다. 오늘 슬슬 훑어 보았는데 기능이 상당하더군요. 상민형의 칭찬이 괜히 나온게 아니라는 듯한 생각이...^^;;; 기능중에 리펙토링 기능과 JUnit, CVS 기능이 역시 눈에 제일 띄는군요 --재동
         DeleteMe 후훗 학기중에 추천해 줄때는 사람덜 눈길도 안주더만, 역시 필요 동기가 사용을 낳는군. IntelliJ 역시 굉장히 강력함 하지만 역시나 Ecilpse, IntelliJ모두 128램에서 돌리기에는 버벅, 궁금한 사항 문의하면 답변해 줄수 있을꺼다 아마 --상민
          * 회사 프로젝트에서 Eclipse 를 사용하고 있다. J2EE 개발에 유용한 EclipsePlugin 을 추천함. -- [구근]
          * 올초 Eclipse를 처음 접하고, 좀 큰 프로젝트에 Eclipse를 적용해 보았다. CVS, JUnit, Ant사항을 반영하고 대형 상용 Package를 사용하는 관계로 setting할 것도 많았지만, 개발이 종료된 지금 결과적으로는 매우 성공적인 적용으로 볼 수 있다. 팀프로젝트시 모듈로 나누어 그룹 개발이 될 경우에 매우 효율적이니, 강추함. 앞으로 발전되는 모양을 지켜보거나 참여하면 더 좋을 듯... -- [warbler]
          혹시 그 큰 규모라는 것이 어느정도 인지 알수 있을까요? 라인을 쉽게 세기 위해서 현 Eclipse를 새로 하나 복사해서 Eclipse용 metric 툴은 http://metrics.sourceforge.net/ 를 설치하시고 metric전용으로 사용하여 쓰면 공정-'Only counts non-blank and non-comment lines inside method bodies'-하게 세어줍니다. (구지 복사하는 이유는 부하를 많이 줍니다.) -- NeoCoin
          * 2003년 5월 ~ 지금(2003년 12월) Web 프로젝트에서 Eclipse(3.0 M4 or 5) 를 이용하고 있습니다. 8명의 개발자들이 Eclipse를 함께 사용하고 있습니다. -- NeoCoin
          * quick fix, UnitTest, [Refactoring], [CVS], 그리고 방대하고 다양한 플러그인들이 제일 마음에 든다. 툴을 사용하는 재미가 있다. - [임인택]
          * 2005년 5월 중순경에 3.1 M7 버전이 나왔다. 아마 다음 버전이나 그 다음 버전이 3.1 정식버전이 되지 않을까 싶다. M6에서 M7로 가면서 메모리 사용량이 많이 줄어든 것 같다(Freemem 이라는 플러그인으로 메모리 사용량 확인). 전체적으로 가벼워진 듯한 느낌을 준다. (총 용량은 변화가 거의 없지만) - [임인택]
  • Garbage collector for C and C++ . . . . 10 matches
          * GNU-win32 에서는 기본으로 있는 Makefile 을 사용하면된다.
          * MS 개발 툴을 사용한다면 NT_MAKEFILE 을 MAKEFILE 로 이름을 바꾸어 사용한다.
          * win32 쓰레드를 지원하려면 NT_THREADS_MAKEFILE 을 사용한다. (gc.mak 도 같은 파일 이다.)
          * 볼랜드 개발 툴을 사용한다면 BCC_MAKEFILE 을 사용한다.
         == 내가 사용한 인스톨 ==
          * Windows NT 나 Windows 2000 에서 문제가 발생한다면 -DUSE_GLOBAL_ALLOC 나 -DUSE_MUNMAP 옵션을 사용하여 컴파일 한다.
          * C++ 에서 사용하려면 -DGC_OPERATOR_NEW_ARRAY 를 추가하여 컴파일 하는 것이 좋다.
         = 사용법 =
  • Java Study2003/첫번째과제/노수민 . . . . 10 matches
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에서 사용될 수 있다. (다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있다)
          사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 된다.
          * 앞에서 나온 듯이 어떤 환경에서든지 사용할 수 있다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있다.
         자바는 처음에는 가전 제품에서 단순하게 사용되다가 플랫폼 독립적인 기능이 인터넷의 기능과 조화를 이룬다는 점을 밝혀져 1995년 썬 마이크로시스템즈(Sun Microsystems)에서 "자바(Java) 언어"를 와 "핫자바(HotJava)"를 발표하면서 세상에 나오기 시작했다. "핫자바(HotJava)"는 자바 언어로 만든 웹브라우저를 말한다. 바로 JDK(Java Developers Kit) 1.0.x버전을 발표하면서 본격적인 자바 개발환경이 지원되기 시작된다. 그리고 Netscape와 라이센스 계약을 통해 Netsacpe 브라우저에서 자바가 시행됨으로서 전 세계로 자바가 확산된다.
  • Linux/필수명령어 . . . . 10 matches
         커맨드 명령어에 대한 사용법을 익히는 것이 필요하다.
         초기에는 파일을 다룰 수 있는 기본적인 명령어부터 시작하여서, 실제 시스템의 관리를 위해 사용되는
         이용하여서 명령어 조합이 가능하다. (이렇게 하면 사용이 무지하게 편하다)
         참고서적) 체계적인 UNIX 사용법/박창윤, 정충일 공저
         ''처음 책은 예전에 사용되던 학교 교재이고, 두번째는 대략 응용법이라고 생각하면 될듯함.
         || adduser || 시스템에 사용자를 추가한다. ||
         || nano || pico 에디터의 클론 버전으로 vi보다 간편한 사용법 제공 ||
         || du || 장치의 사용한 공간 보여주기 ||
         || who || 현재 접속중인 사용자를 표시한다 ||
         || talk || 연결된 사용자와 이야기 ||
  • MoreEffectiveC++/Basic . . . . 10 matches
         사견: Call by Value 보다 Call by Reference와 Const의 조합을 선호하자. 저자의 Effective C++에 전반적으로 언급되어 있고, 프로그래밍을 해보니 괜찮은 편이었다. 단 return에서 말썽이 생기는데, 현재 내 생각은 return에 대해서 회의적이다. 그래서 나는 COM식 표현인 in, out 접두어를 사용해서 아예 인자를 넘겨서 관리한다. C++의 경우 return에 의해 객체를 Call by Reference하면 {} 를 벗어나는 셈이 되는데 어디서 파괴되는 것인가. 다 공부가 부족해서야 쩝 --;
          오해의 소지가 있도록 글을 적어 놨군요. in, out 접두어를 이용해서 reference로 넘길 인자들에서는 in에 한하여 reference, out은 pointer로 new, delete로 동적으로 관리하는것을 의도한 말이었습니다. 전에 프로젝트에 이런식의 프로그래밍을 적용 시켰는데, 함수 내부에서 포인터로 사용하는 것보다 in에 해당하는 객체 사용 코딩이 편하더군요. 그리고 말씀하신대로, MEC++ 전반에 지역객체로 생성한 Refernece문제에 관한 언급이 있는데, 이것의 관리가 C++의 가장 큰 벽으로 작용하는 것이 아닐까 생각이 됩니다. OOP 적이려면 반환을 객체로 해야 하는데, 이를 포인터로 넘기는 것은 원칙적으로 객체를 넘긴다고 볼수 없고, 해제 문제가 발생하며, reference로 넘기면 말씀하신데로, 해당 scope가 벗어나면 언어상의 lifetime이 끝난 것이므로 영역에 대한 메모리 접근을 OS에서 막을지도 모릅니다. 단, inline에 한하여는 이야기가 달라집니다. (inline의 코드 교체가 compiler에 의하여 결정되므로 이것도 역시 모호해 집니다.) 아예 COM에서는 OOP에서 벗어 나더라도, 범용적으로 쓰일수 있도록 C스펙의 함수와 같이 in, out 의 접두어와 해당 접두어는 pointer로 하는 규칙을 세워놓았지요. 이 설계가 C#에서 buil-in type의 scalar형에 해당하는 것까지 반영된 것이 인상적이 었습니다.(MS가 초기 .net세미나에서 이 때문에 String 연산 차이가 10~20배 정도 난다고 광고하고 다녔었는데, 지금 생각해 보면 다 부질없는 이야기 같습니다.) -상민
          * ''static_cast<type>(expression)''는 기존의 C style에서 사용하는 ''(type)expression'' 와 동일하다. [[BR]]
          // reference에서도 사용 가능하다? 그럼 불가능 할시의 처리는?
          * C 에서 지원하지 않을 경우 다음 매크로를 사용하여
         이런 클래스를 선언했다. 그리고 다음과 같은 함수로 해당 클래스의 배열을 사용한다고 가정하자
         그리고 다음과 같이 사용한다.
         로 사용한다. 느낌이 오겠지! 당연히 상속시 child는 parent보다 큰 경우가 다반사이고 배열의 위치 추적이 엉망 진창이 되어 버린다.
         하지만 이럴 경우에는 array를 heap arrays(heap영역 사용 array라는 의미로 받아들임)로의 확장이 불가능한 고정된 방법이다.[[BR]]
  • OpenGL스터디 . . . . 10 matches
         컴퓨터화면은 2차원이다. 하지만 우리가 3D게임을 할때 보면 그 내용물은 마치 3차원의 물체처럼 보인다. 하지만 실제로는 내용물은 2차원적인 것을 3차원처럼 보이게 만든것뿐이다. 그렇다면 어떻게 2차원적인것을 3차원적인것처럼 보이게 만들 수 있을까? 여러가지 방법이 잇지만 그중에 하나는 원근법을 사용한다는 것이다. '''원근법이란 가까히 있는 것은 크게 멀리있는것은 조그마하게 표현하는것을 말한다.''' 더 정확히 말하자면 '''선사이의 각도를 조절하여 3차원효과를 내는 기법'''을 말한다.
         3차원적인 요소를 더 두드러지게 표현하기 위해서는 쉐이딩을 사용하면 된다. 쉐이딩이란 '''입체적인 물체에 음영이나 색상 밝기 등을 잘 조절하여 표면에 입히는 기법'''을 말한다. 이런 기법을 통해서 정육각형같은 경우는 각 면을 도드라지게 표현할 수 있고, 더욱 실감나는 3차원적인 표현을 가능케 한다.
         '''블랜딩(blending)'''이란 화면상에 색상과 물체를 혼합하는 효과를 이야기한다. 이를 사용하는 곳은 주로 두 이미지가 겹쳐있는 효과를 내기위해서 사용한다. 예를 들어
         컴퓨터는 기계어라는 언어라는 이진적인 표현(이진법적인 표현)을 사용한다. 한마디로 1011001과 같은 표현을 예시로 들 수 있는데, 이 때문에 연속적인 표현을 실질적으로 표현
          * 실시간 3D는 말그대로 사용자가 화면 구성에 필요한 데이터를 입력 즉시 화면에 반영하는 방식을 이야기한다. 예를 들어 비행기 시뮬레이션 프로그램이라던가, 게임을 예시로 들 수 있다.
          * 화면을 구성하는 좌표방식은 우리가 보통사용하는 직교좌표계(데카르트 좌표계)말고도 여러가지가 있다. 이 좌표체계에 따라서 이미지 구성하는 방식도 완전히 달라질 수 있어서 이를 잘 고려해서 선택해야한다. 하지만 지금 우리는 일단 직교좌표계를 가지고 논해볼 것이다.
         == Chapter 2. openGL의 사용 ==
          * openGL의 하드웨어 임플리먼테이션은 그래픽 개발사에서 그래픽 카드 드라이버 형태로 개발되고 사용된다. openGL이 특정 플랫폼에서 시작하여 일반적인 플랫폼으로 전향하고 개방화를 실시했을때 각 그래픽 드라이버에 대한 openGL의 개발은 하드웨어 제작사에서 이루어져야 한다고 생각하고 그리 시행했는데, 이는 매우 적합한 선택이 되었고 이로 인해 하드웨어 임플리먼테이션은 그래픽 개발사에서 맡게되었다.
          * ''참고사항 : openGl의 내부적인 데이터타입은 float을 사용하고 있기 때문에 왠만해서는 이 데이터 타입에 맞게 데이터를 전달해주는게 정확도 측면이나 전체적인 성능 향상의 측면에서 더 좋다.''
  • Polynomial . . . . 10 matches
          하나의 항은 coefficient 와 exponent 로 구성된다. 하나의 항(단항식)을 표현하는 자료구조는 다음처럼 구조체를 사용한다. (여기서는 지수와 밑모두 integer를 사용한다)
          * 배열을 사용한 방법
          * linked list 를 사용한 방법
          이 방법을 사용할때 발생할수 있는 문제점은 memory leakage (메모리 누수)이다. Java같은 경우는 쓰레기 수집기가 있지만 c 는 코더(-_-)가 일일이 사용되지 않는 자원을 회수해줘야 한다. 그렇지 않으면 그 자원을 다시 사용할 수 없게 된다.
          n1 = mul(n1, n2); // n1 이 중복 사용되었다..
          Node* input(); // 사용자에게 값을 입력받아 새로운 다항식을 생성하여 리턴한다.
          * 다항식을 표현하는 클래스를 만들어서 operator overloading 을 사용해도 되겠지만 이는 위에 말한 내용을 이미 구현한 후 이걸 클래스로 포장하는거기때문에 지금수준에서는 무리라고 생각됨... - 임인택
  • Ruby/2011년스터디/세미나 . . . . 10 matches
          * irb 사용
          * "우아한" 언어인 루비를 다운받아 irb를 사용해 실습을 해보았다. 처음에 irb를 눌렀을 때, 무슨 dll파일이 없어서 실행이 안된다는 팝업창이 떴는데 확인 누르니까 알아서 잘 켜졌다. Ctrl+C를 눌렀더니 끌지 말지 여부가 떴는데 N을 눌러도 꺼졌다. irb보다는 넷빈즈를 이용하는게 좋다는 말이 와닿았다. 1+2를 치면 알아서 3이 나오는 것과 리턴 값이 항상 표시되는 것이 신기했다(없을 경우도 =>nil 로!). 루비의 블록 넘기기는 #define이랑 비슷한 느낌이 들었다. 새로운 언어임에도 쉽게 익힐 수 있어 좋았다. 하지만, 페어로 하는 만큼 실습 시간도 반감되지 않았을까 죄송스러웠다. 세미나 공지가 뜨면 노트북을 가져가도록 해야겠다. - [강소현]
          * 우선 늦게가서 if-else 밖에 못 들어먹었습니다 ㅠ 상당히 아쉬웠어요. 근데 if구문을 사용해도 의도가 명확하다면 괄호가 필요없다게 참 신기하더라구요. 제가 약간이라도 다뤄본 C, C++, Java, JavaScript, Python에서는 괄호를 반드시 사용해야만 하는 걸로 알고있었는데 말이죠. 근데 여기서 "의도가 명확하다는 것"이 무슨말인지.. 솔직히 이해가 안 가요. ㅠ 저가형 두뇌... 그리고 루비 개발도구가 참 많더군요. aptana... 루비를 위해 만들어졌지만 루비를 쓰지 못한다는게 참 인상적이었습니다. 그리고 irb의 개발환경을 보니 수정을 할 수가 없어 참 불편하더군요. Python Shell의 개발환경이 보다 더 우수한 것 같습니다. 그리고 회고할 때 주워들은 "우아하며 불완전한 언어"라는 말... 왜 그런지 궁금하네요. - [윤종하]
         add(3,4) # => 7 반환 (#은 RubyLanguage에서 주석을 나타낼때 사용)
         }}} 이렇게 메서드를 중첩해서 호출해야겠지? 이 때 괄호를 사용하지 않으면 다음과 같이 쓸 수 있어.
         }}} 그런데 위 코드는 대체 어떤 것이 처음 나온 add 메서드에게 넘겨주는 매개변수인지 명확하지 않지? 이런 경우는 의도가 불명확한 경우라 반드시 괄호를 사용해서 코드를 작성해야해. - [김수경]
          * 저도 아직 RubyLanguage에 익숙하지 않아서 어려운 점이 많지만 조금이나마 공부하며 써보니 직관적이라는 생각이 많이 들었어요. 오늘 정보보호 수업을 들으며 EuclideanAlgorithm을 바로 구현해보니 더더욱 그런 점이 와닿네요. 좀 더 긴 소스코드를 작성하실땐 Netbeans를 이용하시는 걸 추천해요~ 매우 간단하게 설치하고 간단하게 사용할 수 있답니다. - [김수경]
          * 드디어 Ruby를 접해보았습니다. 여러가지 장점이 보였지만, 궁금한 것도 많이 생긴 세미나였습니다. 특히 메모리 관리 부분에서 가비지 콜렉터 존재 유무가 많이 궁금해지더군요. 그래서 검색해보니 참 재밌네요 ㅋㅋㅋ (1. 스택 개념 없음, 힙만 사용 2. 로컬변수도 힙에 올림 3. 명시적으로 메모리 해제 못함). 그리고 { |x| ~~ } 이 문법 보면서 사용하기 꺼려지는 문법이라는 생각이 든 건 저뿐만인가요? 궁금하네요. - [박성현]
  • STLErrorDecryptor . . . . 10 matches
         역시, 잘 아시겠지만, 본 문서는 읽으시는 분께서 Visual C++ 개발 환경과 C++ 사용에 불편해하지 않고 탐색기 화면을 두려워하지 않는다는 가정 하에 작성했고, 윈도우 환경을 최대한 사용하는 쪽으로 작성하였습니다. :)
         컴파일을 맡은 프로그램은 CL.EXE란 것인데, 이 프로그램은 C/C++컴파일러(C2.DLL+C1XX.DLL)를 내부적으로 실행시키는 프론트엔드의 역할만을 맡습니다. VC IDE는 컴파일시 이 프로그램을 사용하도록 내정되어 있습니다.
          * 펄 스크립트 인터프리터(PERL.EXE)가 사용 가능함
          * 해독기 패키지에 포함된 에러 필터 스크립트(STLfilt.pl)가 사용가능 함
          * 펄 스크립트 인터프리터(Win32용) : 여기서는 ActivePerl을 사용합니다. (http://ww.activestate.coml)
          * MSVCP60.DLL : STL 에러 해독기의 컨트롤러가 사용하는 DLL입니다 (옵션).
          * CL.EXE : VC에서 사용하는 원래의 CL.EXE를 대신할 프록시 CL.
         여기서 "Enable Filtering"을 선택하면 그때부터 STL 에러 필터링이 가능해집니다. 그리고, 앞으로 STL 에러 필터링을 활성화하거나 비활성화할 때에는 이 태스크바의 아이콘을 사용하면 됩니다(Enable filtering/Disable filtering을 선택하면 되겠죠). 필터링이 활성화 되어 있느냐 그렇지 않으냐의 여부는 작업 표시줄의 아이콘 색깔( Upload:STLTaskActIcon.gif 은 활성화되었다는 뜻)로 확인할 수 있습니다.
         ''참고) VC++.NET을 사용하시는 분의 경우엔 컴파일 전에 반드시 /WL 옵션을 주어야 합니다. /WL 옵션은 모든 에러 및 경고 메시지를 한 줄로 표시해 주는 옵션입니다. VC++.NET은 소스 코드 한 줄에 대한 에러 메시지를 여러 줄에 걸쳐(\n문자를 끼워넣어서) 표시하는데, 에러 필터링 스크립트는 에러 메시지가 한 줄로 되어 있을 때 재대로 동작하기 때문입니다. 아래와 같이 프로젝트 속성 페이지에서 [C/C++]의 [명령줄] 항목을 선택한 후 /WL 옵션을 추가합시다.''
  • ZeroWiki에서 언어습관 . . . . 10 matches
         이 예제는 이모티콘이나, 자음, 모음만 사용한 예제 중 양호한 편입니다. 이러한 언어 습관은 작년(2003) 보다 올해(2004)가 두드러 지는것 같은데, 이런 현상에 대하여 어떻게 생각하시나요?
          지적하신 내용에 공감합니다. 기존 사용자 층의 글이 자연스럽게 줄어들고, 새로운 사용자 층이 증가하면서, 형성되는 언어습관이 재미있어서 주목하고 있는것 이지요.
          * 예, 꾸준히 제기되는 문제입니다. 과거 글이 읽히는 것까지 위키라는 시스템이 책임지지는 않지요. 이제 [제로위키]도 2000페이지가 넘었고, 각 페이지당 A4 한장이라고 생각해도, 1000장의 두꺼운 사전이니까요. 휴~, 그 중 우리가 읽고 키울것은 많게 잡아도 20% 내외 일것입니다. (200~300 페이지) 당장 사용하는 것은 10% 정도? 그러나 위키 시스템의 철학적인 면에 대한 학습과 토론의 장이 전무한 상황에서 당연한 결과 같네요. [위키요정]과 NoSmok:문서구조조정 NoSmok:WikiGardening 등의 노력이 적은게 아쉽습니다.
         위의 [위키요정], 위키철학 공유에 대한 문제를 감안해도 앞으로는 새로운 ZeroWikian과 [위키요정]들이 활동하면서 이들이 공유하는 언어습관이 변화할 것을 기대합니다. 99, 00..년의 사용자들의 개인 페이지나 프로젝트 페이지, 게시판에 작성하는 글의 언어습관은 다릅니다.
         이를 주목해 보니, 타 위키가 새로운 사용자 계층 유입이 한꺼번에 일어나지 않는다는 공통점이 보이군요. 그래서 타 위키는 언어습관이나 문화가 급격히 변화하는 것은 없습니다. 새사용자 들도 기존 위키에 분위기에 따르니까요. 마치 메일링 리스트 사용하는 것 처럼 말이죠.
         그러나 [제로위키]는 새사용자 상당수가 연례적으로 유입됩니다. 생각해보니 정말 재미있는 차이군요. 더불어 우리는 첫 위키 교육에서 항상, 새 사용자의 새로운 글쓰기를 적극 권장합니다. (SeeAlso [위키의진입장벽낮추기] ) 그래서 가장 익숙한 평소에 타 게시판에서 작성하는 습관을 그대로 가지고 옵니다. 이것이 반복되면서 언어 습관이 바뀌어 나가는 것 같군요. [제로위키]는 급격한 변화상이 보이는 재미있는 실험실 같군요.
  • 서버재조립토론 . . . . 10 matches
         [정모]때 서버 재 조립에 대한 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일한다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때문입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
         네 충분히 그렇게 생각 하실수 있다고 생각합니다. 현재로서 서버가 하는일이 웹서버및 소스 Repository 로서의 역할이니깐요. 그리고 마지막에 프로젝트 때문에 필요할 경우에 나 새로 맞출 필요가 있다고 하신 말씀도 동감합니다. 현재 한 3주 동안 제로페이지 서버가 제대로 작동하지 않았습니다. 제로페이지 서버를 아주 자주 이용하는 입장에서는 많이 제로페이지 서버에 들어가니깐 서버가 죽어 있어서 여러가지로 불편했고, 현재 제로페이지 서버와 연계해서 돌아가는 위키 포탈을 운영 및 관리하는 입장에서는 치명적이었습니다. 제로페이지 회원들이야 안면이 있으니깐 이해해 주겠거나 좀 불편하고 말겠지 하고 생각하실수도 있지만, 위키 포탈 서비스가 우리 학회에서 제공을 해주는 서비스지만 외부에서 이용하는 사용자도 꽤 있었는데 왠만한 사용자들은 다 빠져 나간듯 하네요.. 그래서 지금은 급한게 다른 서버에서의 DB 지연을 기다리는 시간을 원래 1분에서 3초로 줄여서 그나마 임시 방편으로 수습을 했습니다. 또 프로젝트 진행을 하는데에도 제로페이지 서버가 자주 죽어서 진행을 제대로 할 수가 없었습니다.
          제로페이지 서버가 현재 분명 문제가 있고, 이것을 해결해야 한다는데에는(즉 좀 가끔가다가 죽으면 뭐 어때 하는 분은 없을거라고 생각합니다.) 모두 동감 하실거라고 생각합니다. 현재 제로페이지 서버가 아주 자주 죽는 문제가 제로페이지 서버의 하드웨어 적인 문제인가, 소프트웨어 적인 문제인가, 인프라적인 문제인가 이 3가지중 하나라고 생각합니다. 인프라적인 문제는 다른 학회나, 동문서버도 안 죽고 하니깐 제외 하겠습니다. 그러면 하드웨어 아니면 소프트웨어 적인 문제인데. 솔직히 저는 리눅스가 오래 사용해서 자주 뻗는다는 것은 좀 이해가 가지 않습니다. 리눅스를 서버로 우리보다 훨씬 오래 사용하는 곳도 부지 기수일텐데 그런곳들이 모두 이런 문제를 겪고 있을까요.. 그렇다고 지금까지 관리가 안되서 그런것도 아니라고 생각합니다. 상민형, 석천이형, 영창이 모두 제가 생각하기에는 그 누구보다도 서버 관리를 잘 했다고 생각합니다. 물론 테스트를 해봐야 알 문제입니다. 오늘 회장님이 테스트 해본다고 했는데 가끔씩 서버가 죽는 문제를 어떻게 테스트를 해야할지 전 감이 안 오네요. 한 일주일정도 제로페이지 서버를 죽이고 다른것(다른 하드에) 웹서버를 깔아서 아주 아주 수시로(몇분 단위로) 그 웹서버로 들어와서 죽었는지 확인을 해야 하는데(물론 테스트는 테스트를 진행하는 한두사람만 하겠죠. 현재의 제로페이지 위키만 해도 하루 방문자가 1000이 넘는것에 비해서...)그게 참 어려운 문제라고 생각합니다. 또 한 일주일동안 서버를 죽이는것도 현재 위키위주로 돌아가는 제로페이지에도 치명적이구요. 이렇게 테스트를 해서 만약 하드웨어 적인 것이 문제라면 또 다시 서버를 업그레이드 한다음에 다시 서버를 설치하는 작업을 해야겠죠.
          만약 서버를 업그레이드 하려면 회비로 할텐데(피시실 관리비로 받은) 제가 생각하기에 MT나 회식때 회비를 사용하는것도 좋지만 이렇게 제로페이지가 실질적으로 프로젝트를 하는데 많은 장애가 생기는 상황을 타개하는데 사용하는것도 참 회비를 유용하게 사용하는게 아닐까 생각합니다.(그래서 우리가 MT나 회식도 사비를 더 내더라도,,) 글을 쓰면서도 불안 하네요. 어제도 글을 쓰고 나서 저장했을때 여러번 서버가 죽어서...
          저는 업그레이드가 필요하다고 생각합니다. 서버의 핵심은 안정성인데, 지금의 서버는 안타깝게도 그 역활을 제대로 수행해주지 못하고 있기때문입니다. 서버 업그레이드 시도를 하게되면, 이전의 컴퓨터에 문제가 없다고 판단될 경우 새서버의 보조 역활과 리눅스 테스트용 서버로 사용해도 큰 문제가 없다고 생각합니다.^^ 속도 측면에서는 현재의 서버도 전혀 문제가 없지만, 안정성이 낮은점은 이용자의 입장에서 불편하다고 느낄 수 밖에 없기 때문입니다.(실제로 많이 불편했답니다.ㅠ.ㅜ 꼭 필요할때만 죽어있어요..) - [조현태]
  • 스터디/Nand 2 Tetris . . . . 10 matches
          * 스터디에 사용하는 사이트 -> http://www.nand2tetris.org/
          * Hack Machine language를 사용해서 프로그램을 작성해 봄.
          e.g. A - 32일경우, M은 M[32]임. M을 사용할 때, A의 값은 memory의 address
          * A-instruction 을 사용하면, value는 A에 들어간다.
          A의 값이 M이 사용될 때는, 주소의 역할을 하고, D와 같이 사용할 때는 값 그 자체로 작용함.
          * MIPS 코딩하는 것을 생각하고 과제를 진행했는데, 현실은 MIPS 보다 더 하드코어했네요. Symbol도 사용안하고(사실 Cpu emulator만 사용해서 생긴 문제일 수도 있지만), 레지스터도 2~3개 밖에 사용하지 못하는 상황에서 작성하려고 하니 참 막막했습니다. I/O Handling 같은 경우 키보드 입력을 해결하려고 나름 생각을 해서 작성을 했는데, 결과물이 영 마음에 들지 않는군요. 아무튼 이번 시간에 느낀 것은 "High-Level Language가 왜 필요한가?" 가 되겠습니다. 사실 이 느낌은 어셈블리 시간에도, 컴퓨터 구조 시간에도 느꼈지만 말이죠. 이제 1/3정도를 진행했고, 계획대로라면 12월이 되기 전까지 1/2는 진행할 수 있을 것 같아서 기분이 좋네요. 무사히 진행해서 끝을 봤으면 하는 생각입니다. - [권영기]
          지금까지 기본적인 논리 게이트를 (Nand만 사용해서) 구현하고, Combinational Chip 과 Sequential Chip까지 전부 구현했다. 지금까지 구현한 것을 모두 합치면 Computer Architecture가 만들어진다.
  • 위키의특징 . . . . 10 matches
         || 글쓰기 권한 || 작성자만 수정하도록 보통 사용 || 모두 수정 가능하도록 사용 ||
         || 접근성 || 단순한 메타포때문에 사용자 접근이 쉽다 || 장벽이 게시판보다 높다 ||
          * 개인위키 와 블로그의 비교 (위키는 커뮤니티, 혹인 개인 위키로 사용함)
          * MBTI유형중 N(직관)형이 위키를 많이 사용. N형은 개별 사실보다 사실 사이의 관계에 대한 인지가 선행된다. 처음 본 사람이 어떤 머리형을 하고, 어떤 셔츠, 어떤 바지, 어떤 구두를 신었는지를 먼저 파악하는 것이 아니라 그 사람이 전체적으로 풍기는 느낌을 먼저 catch 하게 되며, 이것은 개별 사실들의 전체적인 연관성에 의해 나타나게 되는 것이다. -> 위키가 이런 N형에게 그러한 수단을 풍부하게 제공함. 수평적으로 나열된 사실들에 대해서 적절한 링크(혹은 지도패턴)을 사용하여 관련을 맺어줌으로써 개별사실이 가지는 합 이상의 정보를 창조.
          * Web + log. 인터넷이라는 바다에서 사용하는 '항해일지' 나 '여행일지'를 뜻함.
          * 네티즌이 웹에서 기록하는 일기나 일지를 뜻한다.(가장 정확하게 표현해주는 말) 무엇을 기록할지는 사용자 마음
          * 기존의 홈페이지 보다 쉽게 만들고 사용, 관리할 수 있다. 매우 쉬워서 컴맹들도 한 시간 이내로 능숙하게 사용할 수 있다.
  • 정규표현식/스터디/메타문자사용하기 . . . . 10 matches
         정규표현식을 이용하여 메타문자 그 자체를 찾기 위해서는 이스케이프 문자를 사용하면 된다.
          * 윈도우 시스템에서 폴더의 구분을 역슬래시(\)로 하는 반면에 리눅스 시스템은 슬래시(/)를 사용한다. 따라서 이것을 변경하기 위해 사용할 수 있다.
         16진수 표현 및 사용
         '\x'를 붙여 10진수 10은 '\x0A'로 표현할수 있다. 이 문자를 사용한다면 '\n'과 기능이 같다
         8진수 표현 및 사용
         '\0'을 붙여 사용한다. '\011'은 '\t'과 같고 그렇게 사용 할수있다.
         * 이와 같은 기능을 사용하여 정규표현식을 더욱 간결하게 만들수 있을 것이다.
         == 포직스 문자 분류 사용하기 ==
  • 코바용어정리 . . . . 10 matches
         객체의 참조를 유지함으로써 원격 객체를 액세스할 수 있는 node(단어 선택이 부적절한 것 같군 --;;)이다. 즉 객체 레퍼런스를 사용하여 클라이언트는 객체의 오퍼레이션을 수행할 수 있게 된다. 원격 객체를 액세스 하는 과정에 대해 구체적으로 기술하면 다음과 같다. 클라이언트는 언어 맵핑을 통해 객체와 ORB 인터페이스에 액세스할 수 있다. ORB는 구현 객체와 클라이언트 사이의 커트롤 전달 및 데이터 전달 관리를 책임지고 있다. 결국 클라이언트는 언어 맵핑을 통해서 ORB와 상호 작용할 수 있고, ORB는 원격 객체에 대한 레퍼런스를 얻을 수 있게 된다. 이런 방식으로 클라이언트는 분산 환경하에서 객체를 이름과 인터페이스만으로 마음대로 참조할 수 있는 것이다. ORB를 버스라고 생각하면 쉽게 이해할 수 있을 것이다.
         클라이언트의 반대쪽에는 구현 객체라고 알려진 실제 객체가 있다. '구현 객체(Object Implementation)'는 실제 상태(state)와 객체의 반응 양상(behavior)을 규정하며 다양한 방식으로 구성될 수 있다. 구현 객체는 객체의 메소드와 객체에 대한 활성화 및 비활성화 프로시저를 정의한다. 구현 객체는 객체 어댑터의 도움을 받아 ORB와 상호 작용한다. 객체 어댑터는 구현 객체를 특정하게 사용하는 데에 편리하도록 ORB 서비스에 대한 인터페이스를 제공하게 된다. 구현 객체는 ORB와 상호 작용하여 그 정체를 확립하고 새로운 객체를 생성하며 ORB에 따르는 서비스를 획득할 수 있도록 한다. 새로운 객체가 생성되면 ORB에게 통보되고 이 객체의 구현이 어디에 위치하는가를 알게 된다. 호출이 발생하면 ORB, 객체 어댑터, 스켈레톤은 구현의 적절한 메소드에 대한 호출이 되도록 만들어야 한다.
         CORBA는 C++과 Java 같은 객체 지향 언어와 C와 같은 절차적 언어 양쪽 모두에서 사용될 수 있다. 객체 지향 언어에서는 사용자가 객체의 특성을 정의하고 그 프로퍼티에 액세스할 수 있게 해주는 메소드와 인터페이스를 제공한다. 이것은 비객체 지향 언어에는 없는 기능인데, 이것들은 각각
         의 인터페이스 타입에 대해 스텁에 대한 프로그래밍 인터페이스를 필요로 한다. 보통 스텁은 OMG-IDL로 정의되어 있는 객체 오퍼레이션에 대한 액세를 하게 해주는데, 일단 프로그래머가 OMG-IDL 및 특정 프로그래밍 언어에 대한 언어 매핑에 친숙해지면 손쉽게 예상이 가능한 방식으로 액세르를 하게 해준다. 해당 스텁은 ORB 코어에 전용이며 최적화된 인터페이스를 사용해서 나머지 ORB들을 호출하게 될 것이다. 만약 여러 개의 ORB를 사용하게 된다면 각각의 스텁은 제 각기 해당하는 ORB를 호출하게 될 것이다. 이 경우에 ORB와 언어 맵핑은 공조하여 각각의 스텁이 특정 객체 레퍼런스와 제대로 연결될 수 있도록 해야 할 것이다.
         각각의 언어 매핑에 대해(아마도 객체 어댑터에의 의존하게 되겠지만) 각각의 타입의 객체를 구현하도록 해주는 메소드에 대한 인터페이스가 존재할 것이다. 이 인터페이스는 일반적으로 업콜(up-call) 인터페이스일 것이다. 구현 객체의 개발자는 그 인터페이스에 따라 루틴을 작성하게 되고 ORB는 스켈레톤을 통해서 그 루틴을 호출하게 될 것이다. 그러나 스켈레톤의 존재가 그에 사응하는 클라이언트 스텁의 조재를 의미하지는 않는다는 것이다. 이말은 클라이언트가 DII를 통해서 리퀘스트를 만들 수도 있다는 것이다. 또한, 어떤 언어 맵핑은 스켈레톤을 사용하지 않는데, 이것은 Smalltalk에시는 대체적으로 맞는 말이다.
         동적 스켈레톤 인터페이스는 IDL에 기초하지 않는 스켈레톤/스텁을 가진 객체의 메소드 호출을 처리해야 하는 서버에 대해 런타임 바인딩 메커니즘을 제공한다. 동적 스켈레톤은 수신된 메시지의 파라미터값을 참조하여 어떤 객체가 호출되었는지 어떤 메소드가 호출되었는지를 알게 된다. 이것은 일반적으로 컴파일된 스켈레톤을 사용하는 것과는 비교되는데 이러한 스켈레톤에서는 메소드의 구현이 IDL로 정의된다. 구현 코드는 모든 오퍼레이션 파라미터에 대한 상세한 설명을 ORB에 제공해야 하며, ORB는 오퍼레이션을 수행할 때 사용되는 입력 파라미터값을 제공한다. 오퍼레이션이 수행된 후, 구현 코드는 출력 파라미터 또는 익셉션을 ORB에게 넘겨준다. 동적 스켈레톤 인터페이스의 특성은 프로그래밍 언어 맵핑에 따라 또는 객체 어댑터에 따라 실질적으로 달라질 수 있지만, 일반적으로는 업콜 인터페이스이다. 동적 스켈레톤은 클라이언트 스텁 또는 DII를 통해서 호출될 수 있다. 이 두 가지 방식의 클라이너트 리퀘스트 생성 인터페이스는 동일한 결과를 제공한다.
         ORB 인터페이스는 애플리케이션에 중요한 지역 서비스에 대한 API들로 구성되어 있지 않다. 이것은 곧바로 ORB로 가는 인터페이스이고 모든 ORB들에 대해 동일하다.ORB 인터페이스는 객체 어댑터 또는 객체 인터페이스에 의존하지 않는다. 대부분의 ORB의 기능이 객체 어댑터, 스텁, 스켈레톤 또는 동적 호출 등을 통해서 제공되므로 몇몇 오퍼레이션만이 모든 객체들에 대해 공통이다. 공통 오퍼레이션에는 get_interface와 get_implementation 같은 함수가 포함되어 있는데, 이것들은 임의의 객체 레퍼런스에 작용하며 각각 인터페이스 저장소 객체와 구현 저장소 객체를 얻는 데 사용된다.
  • 콤비반장의메모 . . . . 10 matches
          만화 형사 가제트(Inspector Gadget)에서 콤비 반장(Chief Quimby)은 형사 가제트에게 비밀 지령을 내릴땐 항상 자동 폭파되는 특별한 메모지를 사용하곤 했다. 그러나 인터넷 시대를 맞이한 콤비 반장은 이제 메모지 대신 한번만 사용할 수 있는 파일을 사용하려고 한다. ["콤비반장의메모"]와 같은 일회용 정보는 컴퓨터로 어떻게 구현할 수 있을까.
          * 사용자가 한번 플레이 했다는 걸 네트워크로 확인해 보는 법 밖이 없나요? 씨리얼 키나 MD5키 같은 걸 사용해서~
          ''사용자가 한번 플레이 했다는 걸 미디어에 직접 기록하는 방법으로는 디지털 워터마킹이 있습니다. 이 방법은 네트워킹 없이도 문제를 해결할 수 있는 방법입니다만 전문적 지식이 필요합니다. 네트워크로 확인하는 가장 쉬운 방법은 클라이언트는 재생시 마다 서버에서 인증을 받고, 서버측에서는 미디어의 아이디를 확인하고 재생횟수를 저장하는 방법이 아닐까 싶습니다. 미디어의 아이디 생성은 MD5 같은 해쉬함수 정도면 충분 할것 같습니다. --["데기"]''
          * 기본의 암호 알고리즘만 적적히 사용해도 괜찮은 어플리케이션을 만들 수 있을꺼 같아여!
          * 사용이 간편하고 편리하다.
          * 지워지는 미디어만 사용가능하다. (CD-R 로는 배포불가)
          * 사용자가 재생 안한 파일을 그대로 복사한다면?
  • DirectDraw/DDUtil . . . . 9 matches
         ["TheWarOfGenesis2R"]페이지의 개설에 따라 사용법을 모읍니다.
         생각보다 초기화하기 까다로운 DX의 사용을 그나마 편하게 해주는 것들이다
          컬러키(투명색)를 가진 채 화면에 출력한다. prc는 사용하지 않는다.
          역시 prc는 사용하지 않는다.
          CSurface형을 화면에 출력한다. prc는 사용하지 않는다.
          위의 Blt함수들은 백 버퍼에 출력하는 함수들이다. 모든 내용을 백 버퍼에 출력했으면 다음 함수들을 사용하자
          백 버퍼에 출력되어있는 내용을 현재 화면으로 출력한다. 화면을 모두 완성한 후에 사용한다.
          컬러키(투명색)으로 사용할 색을 COLORREF (RGB) 형에 맞추어서 집어넣으면 된다. [[BR]]
          대개 잘 쓰이지 않는 색을 사용한다.
  • HanoiProblem . . . . 9 matches
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         재귀함수가 사용되는 대표적인 예 몇가지를 보여줍니다. 재귀함수 사용에도 그 종류가 다른데, 대표적인 종류들을 보여주는 것이 중요합니다. "아, 재귀함수라는 것이 이렇게도 사용될 수 있구나!" 퍼뮤테이션/콤비네이션, 피보나치수열, 트리검색, 팩토리알, 조건문과 재귀호출로 반복문(while) 만들기 등이면 충분하지 않을까 합니다.
         그리고 재귀함수를 만들 때 유의점과 사고보조물을 가르쳐 줍니다. 유의점이라면 재귀함수는 리턴되는 값의 종류(타입)가 모두 동일해야 한다는 것, 재귀호출을 벗어나는 지점 근방에서 유의해야 한다는 점 등이고, 사고보조물로는 스택의 상태를 그림으로 그리는 방법이나, 수식을 사용하는 방법 등이 있겠죠.
         시작하는 수를 하나 주고, 특정한 연산을 사용하여 정해진 스텝만에 다른 수로 전환시키는 문제를 주었습니다. 예를 들어, 8에서 시작해서 곱하기 2나, 빼기 7을 사용해서 6번의 스텝만에 15를 만드는 문제입니다.
         종종 미로가 너무 복잡할 때 목적지에서 거꾸로 내려오는 것이 더 간단할 때가 있습니다. TestDrivenDevelopment도 이 방법을 사용합니다. 자신이 원하는 것을 컴퓨터에게 설명해 주고, 그 목적지에서 거슬러 내려옵니다.
         혹은, 중간을 끊어서 볼 수도 있습니다. 어찌되었건 모든 원반이 옮겨가려면 어느 순간엔가는 가장 큰 원반이 비어있는 막대기로 이동해 가야 합니다. 이 상황에서 가장 큰 원반이 있는 막대기에는 큰 원반 하나만 있을 것이고, 그 원반이 옮겨갈 막대기는 비어있어야 하므로, 결국 두개의 막대기가 모두 사용되고, 나머지 하나의 막대기에는 나머지 원반들이 모두 크기 순으로 쌓여있게 될 것이라는 추측을 할 수 있습니다. 여기서 앞 뒤 상황을 생각해 보면 어떤 통찰을 얻을 수 있습니다.
  • HelpOnInstallation . . . . 9 matches
          * <!> `rcs`가 없어도 사용할 수 있으나 백업본이 저장되지 않습니다.
          * 최신 모니위키는 PHP로 만들어진 RcsLite를 제공하며, rcs 대신에 사용할 수 있습니다.
          * 윈도우즈 사용자의 경우는 아파치 웹서버를 제외한 PHP + rcs + 기타 몇몇 프로그램이 함께 패키징 된 apmoni-setup-1.1.x.exe를 제공합니다.
          * 윈도우즈 사용자의 경우 micro apache 웹서버가 포함된, mapmoni-setup-1.1.x.exe 를 받으실 수도 있습니다. (단, 여기서 .x. 는 3 이상)
          그러나 초보사용자라면 SystemPages는 반드시 설치하는 것을 권장한다.
         모니위키 설치가 끝났지만 사용자의 입맛에 맞게 설정하고자 한다면 다음을 참고하세요.
         root사용자라면 tar를 이용해서 간단히 백업할 수 있겠고, 호스팅을 하는 일반 사용자의 경우라면 backup restore를 액션을 이용할 수 있다.
          * 윈도우즈 사용자라면 퍼미션이 문제가 되지 않으므로 간단히 {{{data}}}디렉토리를 통채로 복사해서 보존하면 될것이다.
  • InWonderland . . . . 9 matches
         || 홈페이지(사용자 등록 화면) || . || ||
         || 홈페이지(사용자 탈퇴) || . || ||
         || 홈페이지(사용 내역 조회) || . || ||
         [WebMethod(Description="포인트 사용")]
         public bool UsePoint(string storeReg, string storeAuth, string cardNum, string cardPwd, int money, int point) // -인자: 사업자 등록 번호, 카드 번호, 돈, 사용한 포인트
         일반 사용자가 카드 등록 후에는 카드 번호 출력함. 여력이 되면 비밀번호 암호화도 해야 함. 한편 카드 유효기간 귀찮다. 빼자. --재동
         클라이언트에서 포인트 적립이나 사용이후에 남은 결과 포인트도 보여줘야 하지 않어? 그리고 로그 아웃도 필요하잖어.--철민
          그건 적립이나 사용후에 "포인트 조회" 서비스를 통해서 보여주면 되겠지. 그리고 로그아웃도 서비스로 넣을 필요는 없어. --재동
          응. 물건 살때 쓰는 현금. 나중에 사용 내역 때문에 입력 하는 거야 --재동
  • Java Study2003/첫번째과제/방선희 . . . . 9 matches
          * JVM이 알아서 더 이상 사용되지 않는 메모리를 check해서 system에 반납해 준다.
          * VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
          eclipse 나 Editplus의 사용법을 제대로 알고 다시 코드를 작성해보겠습니다.
          * Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
          * Java를 이용해 재사용 가능한 object를 만들 수 있다. 이 object는 향후 다른 프로그램내에서 그냥 재사용 가능하다. 강력한 Java의 재사용성은 Java가 가지고 있는 장점 중에서도 가장큰 장점이라고 말할 수 있다.
          예를 들어 A라는 회사에서 인사 시스템을 Java로 개발하여 사용하고 있다고 가정하자. 다른 B라는 회사에서도 같은 인사 시스템을 개발하고자 한다면, B회사는 A회사의 인사 시스템 중 승진과 관련된 일부분을 가져와 그대로 사용할 수 있다.
  • MemeHarvester . . . . 9 matches
          * 젠장.. 구글에도 이와 비슷한 알리미라는 서비스가 나왔구나.. 내꺼가 먼저 만들어졌는지 이게 먼저 만들어 졌는지는 모르겠지만.. 이것은 사용자가 사이트와 키워드를 입력하는 그러한 번거로움 없이 사용자가 한번 방문한 사이트들에 대해서 자동적으로 업데이트 내용들을 알려주는 방식이었다. 이 방식은 본 받을만 한거 같다.
         || 데이터 수집 || 로봇이 모든 웹을 돌아다니면서 데이터 저장 || 사용자가 특정 웹을 지정하고, 해당 웹에서 사용자가 원하는 키워드가 포함된 글이 올라올 경우나 새 글이 올라올 경우(옵션에 따라) 실시간으로 알려줌, RealTimeSearchEngine ||
         || 데이터를 보여주는 방식 || 사용자가 키워드 입력 -> 저장된 데이터를 보여줌.(필요 없는 정보를 포함하여 너무 많이 보여줌) || 사용자가 키워드(입력할수도 있고 아닐수도 있고)와 특정 웹사이트들을 입력하면 해당 웹사이트에서 그 시점으로부터 특정 키워드가 새로 올라오면 실시간으로 알려주거나, 그 시점부터 특정 시점까지 바뀐 내역을 보여줌 ||
         || 중고 매매 알선 || 특정 중고 제품을 원한다고 등록해놓으면 현재 등록되어 있는 중고 사이트중에서 해당 물품이 올라올 경우 사용자에게 실시간으로 알려준다. ||
         || 05/12/25 || webDiff - 남상협 || 서버 완성(쓰레드사용), 정보를(id,비번,비교할 웹사이트 정보) 받으면 바뀐 내역을 클라이언트에게 알려줌 ||
         클라이언트는 바뀐 데이터중에서 원하는 키워드가 포함되었는지 판단하고 사용자에게 보여준다.
  • MoreEffectiveC++ . . . . 9 matches
         - 사용자 정의의 변환 함수 사용
         - 자원 낭비를 막기위한 소멸자 사용
         - 예외상황 명확화 사용
          * Item 5: Be wary of user-defined conversion functions. - 사용자 정의 형변환(conversion) 함수에 주의하라!
          * Item 9: Use destuctors to prevent resource leaks. - 자원이 새는걸 막는 파괴자를 사용해라.
          * Item 14: Use exception specifications judiciously. - 예외를 신중하게 사용하라.
          * Item 27: Requiring or prohibiting heap-based objects. - Heap영역을 사용하는 객체 요구하기 or 피하기.
          1. 2002.02.15 드디어 스마트 포인터를 설명할수 있는 skill을 획득했다. 다음은 Reference counting 설명 skill을 획득해야 한다. Reference counting은 COM기술의 근간이 되고 있으며, 과거 Java VM에서 Garbage collection을 수행할때 사용했다고 알고 있다. 물론 현재는 Java Garbage Collector나 CLR이나 Tracing을 취하고 있는 것으로 알고 있다. 아. 오늘이 프로젝트 마지막 시점으로 잡은 날인데, 도저히 불가능하고, 중도 포기하기에는 뒤의 내용들이 너무 매력있다. 칼을 뽑았으니 이번달 안으로는 끝장을 본다.
  • NeoCoin/Server . . . . 9 matches
         /etc/profile : 모든 사용자 적용 스크립트
         /etc/motd : 사용자 로그인후에 나오는 메세지
         /etc/skel : 사용자 생성시(useradd) 초기 bash 설정 파일 (이렇게 숨겨놓다니)
         올해 들어 한국 표준시의 사이트에서 시간을 맞출수가 없다. 귀찮아서 오페라를 사용하고 있다.
          * 데비안에서 자바 사용하기 http://debianusers.org/stories.php?story=02/08/02/1679110
         -로컬 시스템에서 특정 사용자가 사용하는 공간
         find / -user <사용자> -fstype <파일시스템 타입> !-name "/dev/*" ! -name "/proc/*" -exec ls -lh{} \;
         -어떤 프로그램이 어떤 포트를 사용하는지...
  • OurMajorLangIsCAndCPlusPlus/stdio.h . . . . 9 matches
         || void setbuf(FILE *, char *) || 해당 스트림에 사용할 버퍼를 지정해 준다. ||
         || int setvbuf(FILE *, char *, int, size_t) || 해당 스트림에 지정된 크기만큼의 사용할 버퍼를 지정해 준다. ||
         || char * tmpnam(char *) || 임시 파일로 사용할 수 있는 이름을 인자1에 기록한다. ||
         || int vfwprintf(FILE *, const wchar_t *, va_list) || 해당 스트림에 지정된 형식의 유니코드 문자열을 인수리스트를 사용해서 기록한다. ||
         || int vwprintf(const wchar_t *, va_list) || 표준 입출력으로 지정된 형식의 유니코드 문자열을 인수리스트를 사용해서 출력한다. ||
         || int vswprintf(wchar_t *, const wchar_t *, va_list) || 유니코드 문자열을 지정된 형식의 유니코드 문자열로 인수리스트를 사용해서 기록한다. ||
         || int vswprintf(wchar_t *, size_t, const wchar_t *, va_list) || 지정된 크기 만큼의 유니코드 문자열을 인수리스트를 사용해서 작성한다. ||
         || int wscanf(const wchar_t *, ...) || 표준 입출력을 사용해서 유니코드의 입력을 받는다. ||
         || char * tempnam(const char *, const char *) || 주어진 두번째의 인자를 바탕으로 임시로 사용할 파일의 경로를 리턴한다. ||
  • ProjectPrometheus/UserStory . . . . 9 matches
         ||검색된 책들은 출판날짜, 사용자 평가 (Review) 에 따라 정렬되어진다. ||
         ||사용자들을 관리할 수 있다. (사용자 정보 수정/삭제) ||
         ||사용자들에게 공지를 전달할 수 있다. ||
         사용자는
          * 검색된 책들은 출판날짜, 사용자 평가 (Review) 에 따라 정렬되어진다.
          * 사용자들을 관리할 수 있다. (사용자 정보 수정/삭제)
          * 사용자들에게 공지를 전달할 수 있다.
  • ProjectVirush/Idea . . . . 9 matches
          또한 실시간이라는 점은 사용자가 접속하지 않아도 돌아가는 것을 의미한다. 사용자가 하루, 이틀 쉬었다가 접속하였을때 플레이어의 바이러스들이 전부 죽어있는 광경을 연출해서는 안된다. 그렇기 때문에 바이러스들은 플레이어가 없어도 꿋꿋하게 살아나갈 수 있는 인공지능을 가지고 있어야 한다.
          둘째 '온라인 멀티'플레이이다. 한명의 사용자가 접속해서 사용하는 것이 아니기 때문에 여러명이 접속해서 사용하게 된다. 그러한 만큼 여러 플레이어가 행동을 한다는 것을 염두에 두어야 한다. 한명 한명에게는 적절한 난이도이지만, 협동을 하니 난이도가 대폭 하락해서 금새 이길 수 있었다 라던가 하는 이야기가 나와서는 안된다.
          플레이어는 DNA를 사용해서 자신의 바이러스의 알고리즘을 만들고.. 백혈구는 자신의 DNA를 DNA알고리즘으로 진화시키고.. DNADNA...GATACA인가;;ㅁ;;
          페로몬 방법에서는 사용자가 홀로 떨어진 백혈구를 습격하고 도망가는 게릴라 수법을 쓴다면 당해내지 못할 것 같기도 하네요. 일단 알려진 바이러스는 다음번에 무조건 잡을 수 있게 하는 걸까요?
          사용자가 백신역할을 하는 사용자를 두는 방법도 있겠고, 게임 안에서 NPC나 거꾸로 생각해서 바이러스가 퇴치해야 하는 적으로 생각할 수 있겠네요. -- [Leonardong]
  • ReplaceTempWithQuery . . . . 9 matches
         '''어떤 수식의 결과값을 저장하기 위해서 임시변수를 사용하고 있다면,''' [[BR]]
         수식을 뽑아내서 메소드로 만들고, 임시변수를 참조하는 곳을 찾아 모두 메소드 호출로 바꾼다. 새로 만든 메소드는 다른 메소드에서도 사용될 수 있다.
         위의 예는 매우 극단적으로 보일지도 모른다. 하지만 위의 예를 매우 복잡한 시스템의 일부분이라 가정하고 생각해보길 바란다. '''임시변수'''를 사용하는 코드는 해당 블럭에서만 접근 가능하기 때문에, 길어지는 성향이 있다. 이러한 임시변수를 '''질의 메소드'''(query method)로 바꿈으로써 어느곳에서라도, 임시변수에서 사용될 정보를 얻을 수 있고, 클래스 코드는 더 깔끔해진다.
         프로그래밍 경력이 있는 사람일수록, 이러한 사실에는 동의를 하지만 '''퍼포먼스'''를 우려해서 꺼리는 경향이 있다. '' '동일한 연산을 왜 이렇게 수행하는거지?' '', '' '이러한 블럭은 지역적이기 때문에 임시 변수 사용은 문제가 되지 않아!' ''.
         어느정도 수준에 오른 프로그래머일수록, 반복적으로 사용되는 값에 대해 임시변수를 사용하고 이러한 최적화(?)를 나름대로 수행하려 한다. 그러나, 이러한 미시적인 최적화는 결과적으로 거시적 최적화의 기회를 박탈하게 한다. 심지어 최악의 경우라도 임시변수를 다시 넣는 일은 쉽다(물론, 프로파일링 ' '''결과''' ', ' '''실제로''' ' 퍼포먼스에 심각한 문제를 주는 경우라면).
         이러한 방법을 사용하면서 부가적으로 얻을 수 있는 장점이 하나 더 있다. 실제로 도움이 될지 안될지 모르는 최적화를 하는데 쏟는 시간을 절약할 수 있다. 임시변수 사용뿐 아니라 이러한 미세한 부분의 조정은, 해놓고 보면 별로 위대해보이지 않는 일을, 할때는 알지 못하고 결국 시간은 낭비한게 된다. 돌이켜보면 나의 이러한 노력이 제대로 효과가 있었는지도 모른다. '''왜?''' 프로파일링 해보지 않았으니까. 단순히 ''시스템을 더 빨리 돌릴 수 '''있을지도''' 모른다''는 우려에서 작성한 것이었으니까. [http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork DoTheSimplestThingThatCouldPossiblyWork]
  • Ubiquitous . . . . 9 matches
          최상의 도구란 사용자로 하여금 그 도구를 이용하고 있음을 자각하지 못하고 수행하고 있는 일에만 집중하게 하여 업무의 효율성을 높이게 하는 것’이라고 생각했다. 즉, 기존의 정보 기술이 업무를 보조하는 보조적 수단이 아닌 그 자체가 중심이 되어 버린 것을 비판하며, 인간 중심의 컴퓨팅 기술 즉, 사용하기 쉬운 컴퓨터 개념으로써의 유비쿼터스 컴퓨팅 비전이 제시되었다
          이런 컴퓨터들은 사용자의 눈에 띄지 않는다.
          인터넷이나 가상 현실 같은 가상 공간이 아닌 실제 세계의 어디서나 사용할 수 있다
          인간화된 인터페이스(Calm Technology)를 제공해 사용자 상황(장소, ID, 장치, 시간, 온도, 명암, 날씨 등)에 따라 서비스가 변한다.
          사용자가 네트워크나 컴퓨터를 의식하지 않고 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 정보통신 환경.
          물이나 공기처럼 시공을 초월해 '언제 어디에나 존재한다'는 뜻의 라틴어(語)로, 사용자가 컴퓨터나 네트워크를 의식하지 않고 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 환경을 말한다. 1988년 미국의 사무용 복사기 제조회사인 제록스의 와이저(Mark Weiser)가 '유비쿼터스 컴퓨팅'이라는 용어를 사용하면서 처음으로 등장하였다.
          유비쿼터스화가 이루어지면 가정·자동차는 물론, 심지어 산 꼭대기에서도 정보기술을 활용할 수 있고, 네트워크에 연결되는 컴퓨터 사용자의 수도 늘어나 정보기술산업의 규모와 범위도 그만큼 커지게 된다. 그러나 유비쿼터스 네트워크가 이루어지기 위해서는 광대역통신과 컨버전스 기술의 일반화, 정보기술 기기의 저가격화 등 정보기술의 고도화가 전제되어야 한다. 이러한 제약들로 인해 2003년 현재 일반화되어 있지는 않지만, 휴대성과 편의성뿐 아니라 시간과 장소에 구애받지 않고도 네트워크에 접속할 수 있는 장점들 때문에 세계적인 개발 경쟁이 일고 있다.
  • VisualStudio . . . . 9 matches
         학교에서는 2008년까지만 해도 Visual C++ 6.0을 많이 사용했으나 2008년 2학기에 홍병우 교수님이 Visual Studio 2008 사용을 권한 것을 계기로 최신 버전 환경이 갖추어졌다.
         VisualStudio 를 사용할때 초기 프로그래밍 배울때 익혀두어야 할 기능들로, [:Debugging Debugger 사용], [Profiling], Goto Definition
         VisualAssist 를 사용한다면, Code Re-Parsing 기능을 실행해준다.
         단, pragma 전처리기는 de facto라서 정식 표준이 아니다. 따라서 사용에 대해 유의할 필요가 있다.[* pragma는 once외에도 다른 option도 존재한다.]
         == Debugger 의 사용 ==
         === 여러개의 Project 를 사용하기 ===
         기본적으로 지정된 경로 밖에서 라이브러리를 사용해야 하는 경우가 있다. 몰랐다가 링크를 거느라 한참 고생한 김에 여기에 정리해본다.
  • html5/others-api . . . . 9 matches
          * HTML5는 사용자의 편의를 위한 다양한 요소를 제공한다.
          * figcaption을 사용
          * 플러그인을 표현할때 사용한다 동영상 음악등을 통합하여 표현할때 사용한다.
          * embed엘리먼트에는 자식엘리먼트를 사용할 수 없다. 단일하게 embed만으로 종료한다
          * 강조(highlight)를 표현할때 사용된다. 다른 강조의용도의 엘리먼트와 차이점은 여러번 쓰일때 사용하는것 이다.
          * time엘리먼트는 24시간기준의 시간을 표현하거나 그레고리안 달력을 표현 할 때 사용한다.
          * iframe은 내부에 포함된 콘텐츠를 표시할때 사용한다.
  • 기술적인의미에서의ZeroPage . . . . 9 matches
         주소 영역을 8bit 만 사용, 상위 8bit 은 00 으로 가정하고 addressing 을 하면
         (제로페이지 명령어들은 명령어의 첫번째 주소 바이트를 0으로 가정하고 단지 두번째 바이트만 가져옴으로서, 짧은 코드와 짧은 수행시간을 가져다준다. 주의 깊게 제로페이지 명령을 사용하는 것은 코드 효율에 확실한 개선을 가능케 한다.)
         이는 데이터를 임시로 저장하는데에 사용하기 용이하고 당시 CPU의 적은 레지스터의 양을 보완하려는 것이었다.
         1980년대에는 컴퓨터 사용자들이 아마 상상도 할수없을 만큼 1970년대의 CPU 만큼 빠르고 그 보다 더빠른 메로리가 사용었다. 그러면서 대용품으로 메인 메로리를 사용하고 아주 적은 양의 레지스터를 갖는 것이 이치에 합당했다. 16비트 버스를 갖는 컴퓨터의 제로페이지 내의 각 메모리가 아마도 한 바이트로 어드레싱되기 때문에 제로페이지내의 메모리가 아닌 곳보다 제로페이지내의 메모리를 접근하는데, 8비트 데이터 버스를 갖는 머신에서보다 더욱 빨랐었다.
         예를 들자면 the MOS Technology 6502 는 오직 6개의 non-general 목적을 가진 레지스터를 가지고 있었다. 결과적으로 이는 것은 제로페이지라는 개념을 폭넓게 사용하였다. 많은 명령어들이 제로페이지와 제로페이지가 아닌 어드레씽을 위해서 다르게 쓰여졌다.
         IC테크놀로지의 발전이 더욱 적은 비용으로 CPU의 레지스터를 늘리게 되었고 이에따라서 RAM을 액세스하는 것 보다 더욱 빠른 CPU명령어를 처리하게 되었기 때문에 제로페이지는 이제 대개는 역시적인 의미를 갖는다. 그럼에도 불구하고, 어떤 컴퓨터 아키텍처는 여전히 다른 목적을 위해서 제로페이지라는 개념을 제공하기는 한다; 예를 들자면 인텔의 x86은 인터럽트 테이블의 사용을 위해서 512워드의 공간을 사용한다.
  • 새싹교실/2012/AClass/3회차 . . . . 9 matches
         - 다른 종류의 데이터를 하나로 묶어서 사용하는 데이터 결합법을 구조체라고 한다. 구조체는 같은 자료형을 묶어서 한다면 구조체는 다른 자료형을 묶어 사용한다.
         malloc을 한 후에는 free을 호출해서 메모리에 할당하였던 것을 풀어주어야 한다. 그렇지 않으면 메모리에 남겨서 필요할때 사용할수가 없다.
         이중 포인터는 싱글 포인터의 주소 값을 저장하기 위한 용도로 사용되는 포인터이다.
         동적 할당에 가장 기번적으로 사용되는 것은 malloc함수이고, 이 함수를 사용하기 위해서는 "stdlib.h"헤더파일을 포함해야 한다
         이중포인터 사용이유
         스택 : 자료를 여러개를 넣었다가 나중에 사용하려고 할 때에는 나중에 넣은 것이 먼저 나오는 구조
         - 다른 종류의 데이터를 하나로 묶어서 사용 하는 데이터 결합법
  • 위키QnA . . . . 9 matches
         문두 삽입방식을 사용합니다. 최신내용은 앞쪽에 써주세요.
         A : InterWiki 라고 합니다. InterWiki 에 등록된 다른 위키의 페이지를 링크 걸때 사용합니다. 위키간 이름공간을 연결해주는 유용한 매크로. ^^; InterWiki 에 가보시면 현재 등록된 다른 위키페이지들을 알 수 있습니다.~
          난 지금이 딱좋은데 더 확장되면 골치 아플껏 같고.. 혹은 사용용도가 ZeroWiki 와 합쳐 져야 한다고도 생각. project의 직접 접근성을 없애는건 반대이고 Starting Point에 사용용도를 링크하는 것이 최적이라고 생각 --상민
          FrontPage가 현재 하고 있는일이 (보여주고 있는 것) ZeroWiki 정의, 사용용도, Starting Point (여기에는 프로젝트 열거도 포함), 제안이야. 이중에서 사용용도와 제안은 새 페이지로 빼는 것이 좋을 것 같은데. 그리고 프로젝트 열거 밑에 Starting Point 밑에 두는 것도 생각. 그리고 또하나는 현재 이 프로젝트 관련 글을 Q&A가 아닌 제안페이지에 두는것이 더 좋겠다는 것. 현재 우선적인 직접접근성을 제공받아야 할 것은 project니까. 그에 대해서는 나도 별 이견 없음. --석천
         A: {{{~cpp [[TableOfContents]] }}} 매크로를 사용해보시는 건 어떨까요? 소제목들에 대한 내부링크를 만들어줍니다. 링크의 기준은 === ===, == == 등으로 묶인 헤더태그들 기준입니다.
         Q: Bioinformatics에 관한 프로젝트를 진행하려고 합니다. 소개와 내용의 재정리를 위해서는 많은 이미지 파일들을 위키에 올려야 될지도 모르겠는데, 위키에서의 이미지 사용은 그렇게 적절하지 않은 것 같습니다. 어떤 방식으로 이를 해결할 수 있을까요?
         A: Use bookmark. (see also NoSmok:북마크사용법 )
  • 2005리눅스프로젝트<설치> . . . . 8 matches
         Upload:vmware 한글사용서.pdf
          * 데비안을 사용할려고 했지만 경험부족 때문에 X-WINDOW를 설치를 못해서 다른 버전중에 레드핫 계열인 Fedora core4를 선택했습니다. 레드핫,데비안,Fedora 설치 해서 이 버전이 제일 갠찮은 것같아서 이걸로 사용하기로 결정을 했습니다.
          * 만약 하드가 모자르던지 윈도우에서 리눅스를 돌리고자 하시는 분은 위 VMware을 사용하시기 바랍니다.
          VM을 사용하시면 만은 용량과 불편함이 덜할것입니다^^;
          * 1차 스터디는 명령어와 VI사용 법을 하겠습니다.
          * 저도 데비안을 사용하고 싶은데 그 x-window 깔줄몰라서 이러는 중입니다...ㅜㅜ
          * 일단은 통일을 하기로 했는데 머 데비안 사용할줄 알면 해도되궁... 아 이번주는 수요일4교시에 스터디있어용....[(shusheng)수생]
  • 2dInDirect3d/Chapter3 . . . . 8 matches
          * 버텍스 버퍼가 무엇인지 알고 사용법을 안다.
          * 인덱스 버퍼가 무엇인지 알고 사용법을 안다.
         Vertex point size : 버텍스의 크기 (포인트스프라이트에서 사용한다.)
          이것은 3차원 좌표로서, 기본적인 x,y,z에 수직인 곳의 좌표를 정한다. 이것은 나중에 빛에 관련된 계산을 할 때에 사용된다.
          이 노말 좌표를 사용하면 RHW는 사용할 수 없다. (둘은 함께 사용할 수 없다는 뜻입니다.)
          Diffuse Color의 형태는 D3DCOLOR(사실은 DWORD형이다.)형을 사용한다.
  • 5인용C++스터디/다이얼로그박스 . . . . 8 matches
          * 다이얼로그박스에 있는 컨트롤(버튼, 라디오버튼, 체크박스, 리스트박스 등...)은 어떻게 사용하나?
         대화상자(DialogBox)는 최상위 윈도우(top-level window)의 자식 윈도우로서 일반적으로 사용자로부터 정보를 얻기 위해 사용된다. Dialog는 사용자들이 파일을 선택하여 열기 등의 작업을 쉽게 하도록 합니다. 파일 작업을 쉽게하기 위해 제공하는 컴포넌트가 FileDialog클래스이다. Dialog는 Frame윈도우와 비슷한데 그 차이점을 살펴보면, 대화상자는 윈도우에 종속적이기 때문에 그 윈도우가 닫히면 대화상자도 따라서 같이 닫히게 된다는 것이다. 또한 윈도우를 최소화시켜도 대화상자는 사라지게 된다.
          1-3 대화상자에서 MFC AppWizard[exe]를 선택을 하고, Location: 에 사용자가 생성시키고 싶은
          이 부분에서 사용자가 선택하고 싶은 것을 선택을 한다. 이 Test프로그램은 Dialog based를
         대부분의 대화상자는 modal이다. modal 대화상자는 부모 프로그램이 계속 실행되기 위해서 사용자의 응답을 기다린다. 이 말은 modal 대화상자는 사용자의 입력 확인 없이 부모 프로그램의 어떤 부분도 동작시킬 수 없다. modaless 대화상자는 부모 프로그램의 실행을 막지 않는다. 이것은 다른 부분의 프로그램의 실행을 대화장자가 막지 않는다는 것이다.
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 8 matches
          * 다이얼로그 박스에서 만들고 사용하는 방법을 발표하면 안됨!
          에디트 컨트롤은 문자열을 보여주며 편집할 수 있도록 해주는 컨트롤이다. 주로 사용자에게 문자열을 입력받을 때 사용된다.
         이 멤버함수들 중에서 Create 함수를 사용하면 대화상자 템플리트에 에디트를 배치하지 않고도 실행중에 에디트 컨트롤을 생성할 수 있다.
          예제에서는 (10, 10, 300, 35) 사각 영역에 에디트를 생성하였으며 통지 메시지를 사용할 것이므로 IDC_MYEDIT라는 매크로 상수를 1000으로 정의하여 ID로 주었다. 여기서 1000이라는 ID는 임의로 준 것이다.
          예제에서 에디트의 EN_CHANGE 통지 메시지를 사용해 보았다. 통지 메시지란 컨트롤에 어떤 변화가 발생했을 때 부모 윈도우에게 자신의 변화를 알리기 위해 보내는 메시지를 말한다.
         EN_HSCROLL / 사용자가 수평스크롤 바를 클릭하였다.
         EN_VSCROLL / 사용자가 수직스크롤 바를 클릭하였다.
  • AcceleratedC++/Chapter12 . . . . 8 matches
         상기의 클래스에는 Str(const char*) 타입의 생성자가 존재하기 때문에 이 생성자가 Str 임시 객체를 생성해서 마치 '''사용자 정의 변환(user-define conversion)'''처럼 동작한다.
          위의 식 처럼 사용하기 위해서는 Str::size() 가 정의 되어야한다.
          상기의 함수는 Str 자료형에 입력을 하기 때문에 Str 형에 대한 쓰기 권한이 필요하다. 그러나 9.3.1절처럼 단순히 입력 함수를 만들게 되면 일반 사용자가 객체의 내부 구조를 건드릴 수 있는 인터페이스를 제공하는 꼴이 되기 때문에 옳지 못하다.
         11.2.2 에서의 explicit 키워드의 사용은 자동 형변환에 이용이 되는 단일 인자를 받는 생성자의 행위를 제한함으로써 프로그래머가 원치 않는 변환을 막는 기능을 한다.
         그런데 istream 클래스는 istream::operator void*()를 정의하여 만약 입력에 문제가 있으면 void* 형으로 0을 그렇지 않은 경우에는 void* 를 리턴하게 함으로써 마치 bool 형처럼 사용하는 것이 가능하다.
         이 것을 해결할 방법은 data의 복사본을 만들어서 그 것을 리턴하고 사용이 끝난 뒤에는 복사본을 제거하는 방식으로 해결이 가능하다.
         그러나 사용자는 암묵적 변환사이에서 소멸 시켜야할 포인터를 찾을 수 없다.
         || c_str() || string 내부의 char*를 리턴한다. 따라서 사용자가 delete를 할 수는 없지만 포인터를 얻어서 수정할 수 있다. ||
  • AcceleratedC++/Chapter6 . . . . 8 matches
          * Postfix와 Prefix : i++과 ++i의 차이점이다. ++i는 i를 사용하기 전에 값을 증가시키고, i++은 i를 사용한 후에 값을 증가시킨다.
          1. 중앙값 대신 평균을 사용하며, 제출하지 않은 과제에는 0점을 주는 방식(6.2.3)
          accumulate함수: 처음2개의 전달인자를 3번째 전달인자에 누적시킴(주의 0.0대신 0을 사용하면 정수로 인식 소수점 부분을 버려버림)
          * 이함수를 사용하기 위해서는 <numeric>을 include 해줘야 한다.
          5장에서 사용한 list를 사용하지 않고, vector를 그대로 사용하여 그와 비슷한 성능의 알고리즘
  • C++3DGame . . . . 8 matches
         === 1. 좌표계 사용하기 ===
         3D 영역에서의 작업을 위해서는 사용할 좌표계를 정의해야 한다.[[BR]]
         가장 일반적인 좌표계인 데카르트 좌표계는 원점으로 사용할 점과 원점을 지나며 서로 지각인 세 개의 축이 있다.[[BR]]
         "원점에서 동쪽을 바라보며 죽쪽으로 38도 회전하고, 위로 65도 회전한 후에 이 선을 따라 7.47피트로 이동"하는 방법으로 위치를 설명할 수 있다. 그러나, 수학적으로 풀 경우, 점을 이리저리 움직이면 처리하기가 더운 어려워진다. 그래서 이런 폴라 좌표계는 제어가 어렵기 때문에 3D엔진에서는 거의 사용하지 않는다.
         ==== 1.2 다중 좌표계 사용하기 ====
         3D 오브젝으를 사용하여 작업하다 보면 하나의 점으로 작업하는 것보다 여러 점을 묶어 작업하는 것이 효율적임을 알게 된다.
         이렇게 하면 게임에서 CPU를 움직여야 할 경우, CPU를 그리는데 사용하는 모든점에 대한 컴퓨터 중앙 만 움직이면 된다.[[BR]]
         하나의 code[] 절대 "세계"좌표를 구하려면 다음과 같은 코드를 사용한다.
  • Chapter I - Sample Code . . . . 8 matches
          이런저런 소개들. (컴파일러는 무엇을 사용한다. 머 어쩌구저쩌구.)
          OS 를 작성하다보면 전역변수가 필요한 경우가 있다. 전역변수는 어떻게 선언하는가? extern 키워드를 사용하면 된다. 하지만 uCOS-II 에서는 extern 키워드마저 #define 해서 다른 매크로로 사용한다.
          OS에서 공유자원이나 특정코드가 수행되는 도중에 다른 프로세스에 의해 interrupt 되는것을 방지하기 위해 크리티컬 섹션을 사용하게 된다. 이는 윈도우즈 프로그래밍에서 스레드관련 처리를 해 줄 때에도 나오는 용어이다. uCOS-II에서는 단순히 매크로함수를 이용해 크리티컬섹션에 들어오기와 나오기를 한다. 매크로함수가 하는 일은 단순히 인터럽트를 무효화, 유효화 시키는것 뿐이다.
          // 의해 모든 레지스터의 내용을 스택에 PUSH하는 명령임. 반대는 POPF로 PUSHF의 역순으로 스택에서 꺼낸 데이터로 각각의 // 레지스터를 변경 시킴. 항상 이 두 명령은 한쌍이 되어 사용 되어야 한다.
          디스플레이는 문자기반으로 한다. x, y값을 이용해서 아스키문자와 특수문자를 출력할 수 있다. 1글자 출력에 사용되는 바이트수는 2이다. 1바이트는 글자이고, 나머지 1바이트는 포그라운드/백그라운드 컬러이다. (상위 4비트가 백그라운드이고 하위 4비트가 백그라운드 컬러이다)
          수행시간 측정은 한 task 의 수행시간을 측정하기 위해서 한다. (당연한거 아냐?). 이 측정은 PC의 82C52 타이머 2번을 통해 수행된다. 수행시간 측정을 위한 함수로는 PC_ElapsedStart()와 PC_ElapsedStop()이 있다. 하지만 이 두 함수를 사용하기 전에 PC_ElapsedInit()를 호출해야한다. 이 함수는 두 함수와 관련된 오버헤드를 측정하는데 사용된다. 이렇게 하면 PC_ElapsedStop 함수에 의해 수행시간이 리턴된다(마이크로세컨드). 이 두 함수는 모두 리엔터런트(주 : 몇 개의 프로그램이 동시에 하나의 task나 subroutine을 공유하여 쓰는 것에 대해 말함, from 한컴사전) 하지 않아야한다. 다음은 PC_DispChar()함수의 측정시간을 구하는 예이다.
  • FoundationOfUNIX . . . . 8 matches
          * UNIX 사용법에 대한 기초를 알려 줍니다.
          * 몇시간 정도 밖에 못할것을 감안하여, 그렇게 많은 내용을 전달할것 같지는 않고, 실습 위주로 간다히 UNIX 사용법에 대한 맛만 보여줄 것을 목표로 잡았습니다.
          * cp file1 /test1 (절대 경로와 상대 경로를 사용할 수 있따.)
          * 메뉴얼(사용 설명서) 보는 명령어
          * 아까 -rwxr--r--은 (-디렉토리,파일여부 파일은 -, 디렉토리 d)(--- 사용자 권한)(---그룹 권한)(---다른사용자 권한)
          * vi 편집기 사용
          * p - 붙이기.. dd 명령어 수행하면 지워진것이 버퍼에 저장.. p 명령어 사용함으로써 버퍼에 저장된 것을 붙임
  • HelpOnActions . . . . 8 matches
         액션의 일부 가장 기본적인 기능은 페이지의 맨 하단의 링크에 제공되거나 상단의 아이콘 메뉴에 제공되기도 합니다. (현재 사용하시는 테마에 따라서 달라질 수 있습니다)
         다음의 내용은 모니위키에서 기본적으로 제공되는 액션이며, 아래에 기술된 액션의 일부는 시스템에 따라서 비활성화 되어 사용할 수 없을 수도 있습니다.
         다음의 액션 목록은 기본적 기능으로 사용자에게 특별히 노출되지는 않지만 '''내부적'''으로 상단/하단의 메뉴에서 사용되는 거의 기본적인 액션 목록입니다.
          * `userform`: UserPreferences 페이지에서 사용되는 내부 액션
          * `titleindex`: 페이지 목록을 텍스트로 보내거나 (Self:?action=titleindex) XML로 (Self:?action=titleindex&mimetype=text/xml'''''') 보내기; MeatBall:MetaWiki 를 사용할 목적으로 쓰임.
          * `fullsearch`: `FullSearch` 매크로와 함께 사용되는 전체 페이지 검색 액션
          * `titlesearch`: `TitleSeach` 매크로와 함께 사용되는 제목 검색용 액션
  • JavaStudy2004/자바따라잡기 . . . . 8 matches
          자바(JAVA)하면 섬나라 자바를 연상케 한다. 그러나 미국 사람들에게 자바는 에스프레소 커피로 유명한 커피 체인점을 생각 하게 된다. 유래는 커피체인점이고, 커피의 대명사로도 사용된다.
          자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대한 해결방안을 모색 해야만 됬다.
          *1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
          *2. IBM에서 말하는 가상머신은, 다중사용자가 자원을 공유하는 운영체계를 말하며, 각 사용자는 마치 그 시스템의 모든 자원을 혼자 독점하는 것처럼 느낀다.
          *3. IBM에서 말하는 가상머신이라는 용어는 또한, 내재된 콘트롤 프로그램에 의해 교대로 관리되는 운영체계를 의미하는데 사용되기도 한다. 그렇기에, IBM의 VM/ESA는 IBM S/390시스템 상의 다중 가상머신을 조정할 수 있는 것이다.
          *4. 그 밖의 경우에서의 가상머신은, 컴퓨터를 실행하는 운영체계나, 어떤 프로그램을 의미하기 위해 사용되기도 했었다. 이를 인용하면
          * '''J2SE 설치와 [Eclipse]툴 사용, 컴파일, 실행'''
  • MFC/MessageMap . . . . 8 matches
         = 사용자 정의 메시지 발생시키기 =
          * 사용자 정의 메시지란 : 특정한 시점에서 메시지를 보내서 다른 객체의 함수를 실행 시킬수 있다. 굉장히 유용하다. 일종의 콜백 함수 역할을 수행할 수 있는것이다. 즉 어떠한 다른 클래스에서 특정 시점에서 다른 객체의 특정 함수를 실행시켜야 할 필요가 있을때 사용하면 유용하고, 소켓 프로그래밍에서 자주 사용된다.
          * 사용 예 : 어떤 클래스가 view 클래스의 멤버 변수이다. 해당 클래스는 파일을 다운로드 받는 클래스인데 해당 클래스에서 다운로드가 끝났을 경우 view에 있는 serialize 함수를 실행해야 한다. 허나 현재 view클래스가 그 해당 클래스를 멤버로 가지고 있기에 include 로 해당 클래스에서 view 클래스를 포함할 수도 없고, 또 view 클래스의 현재 실행되는 객체를 얻을 방법도 마땅히 없다. 이때 해당 클래스에서 다운로드가 끝난 시점에서 다운로드가 끝났다는 메시지를 발생시켜서 view에 있는 serialize 함수를 실행시킬 수 있다. 이게 바로 사용자 정의 메시지 발생을 이용한 사례..
         #define UM_ACCEPTCLIENT (WM_USER+10) // 사용자 정의 메시지를 정의 한다.
         사용
  • MFCStudy_2001/진행상황 . . . . 8 matches
          * 2002. 1. 15 화요일 모임 : 상협+창섭= 오목 알고리즘 정리(창섭 열심히 하게나.), 인수+선호=MM Timer 사용법 및, 주의사항 문서화(아직 GDI 리소스 세는거 미해결 부분 해결 해)
          *1월 2일 : 메뉴 만들기[[BR]]Option으로 Ball Size, Paddle Size, Ball Speed를 사용자가 선택하도록 하기 위해서 필요. Ball Size는 11,13,15 Pixel 중에서 하나를 선택해야 함 - 중복 선택할 수 없도록하기 위한 처리..--;나중에 보니 1학기때 실습예제로 있었는데 몰라서 한참을 삽질) 그리고 게임중일때는 Option메뉴를 선택할 수 없도록 하기 위한 처리까지 했다.
          *1월 12~13일 : 멀티미디어 타이머 사용. 3번의 기회가 주어지고 3번 다 죽으면 게임 끝. (게임 끝 처리) [[BR]] Stage가 증가하면 벽돌을 하나 당 깼을때 점수 증가 & 공의 속도 20%증가
          *1월 14일 : 공이 떨어지는 각도를 랜덤함수를 사용해서 일정하지 않도록 함, Stage 4, 5 그림
          *흐음..--; 절대좌표랄까.. 그걸로 바를 움직였더니 마우스 냅두고 키보드로 움직이면 바가 이상하게 움직임..--; 그래서 지금 메뉴에서 처음부터 무엇을 쓸것인지 물어보는 것을 둘까 생각중.. 같이 사용은...아아.. 생각하기 싫다..--;
          *SetCursor()사용하기, WM_SETCURSOR메시지
          *멀티미디어 타이머 사용법. 비록 다른 사람 소스를 그대로 따라하긴 했지만..--;
          * 1월 21일 새벽 1시 현재 - 정상적인 사용자 인터페이스 구성을 끝내고 육목 막았습니다. 3 * 3 만 막으면 이제 인공지능으로 들어가야겠습니다. AI 설계는 뼈대만 잡은 상태입니다.
  • PHP Programming/HtmlTag . . . . 8 matches
         *<FORM> CGI가 작동하도록 사용자가 정보를 입력하는 "입력양식"을 만들어 주는 태그. 입력양식을 만들려면 반드시 </FORM> 태그로 감싸줘야 함.
          *ACTION=".." - 사용자의 입력정보를 받아서 처리하는 서버에 담김 CGI프로그램의 위치
          *METHOD=".." - 사용자 입력정보가 어떤 방법으로 CGI프로그램에 전달하게 할 것인지 지정.(POST, GET 두가지 값 사용)
          *<INPUT> 사용자에게 어떤 정보를 물을 때 사용하는 태그.
          *VALUE=".." - 입력양식이 처음 표시될 때부터 미리 글씨가 보이게 할 때 사용
          *<TEXTAREA> 여러줄까지 입력필드를 만들기 위해서 사용
  • ProjectZephyrus/ClientJourney . . . . 8 matches
          * 작업상황이 막바지인것을 실감할 거 같다. 엄청나게 길어진 코드를 보면 알 수 있다. 내가 없는 사이에 엄청나게 많은 변화가 있었다. 주석이 없는 코드라서 그런지 해석하는 데 애먹었다. 이궁...CVS 사용을 며칠 안해봤다고 또 잊어먹었다. 바부..도움말 뒤지는 중이다. 아마 이번 프로젝트에서 내가 가장 크게 느끼는 것은 영서와 비슷할 것 같다. 자바 언어에 대한 공부보다는 프로젝트 진행 방법, 팀프로젝트에서 개인과 팀의 역할 등을 가장 크게 배우는 것 같다. 예전에 친구와 함께 뭐 하나 하다가 어설프게 끝난 적이 있는데 아마 내가 그만큼 어설프게 진행했던 것 같다. 아무튼 이번에 가장 크게 느낀 점이다. 또 하나 느낀점이 있다면 형하고 pair 하려면 이정도로 공부하고 노력해서는 부족할 것 같다는 생각이다. 아직 내가 갈 길은 멀었다는 생각이... -_-;; 이번에 확실히 늘어난 실력은 아마도 소켓의 개념이 아닐까...-_-;;
          * 소프트웨어 개발이 공장스타일이 될 수 없는 이유를 하나 든다고 한다면 개발중 개발자가 계속 학습을 해나간다는 점에 있지 않을까 한다. 처음부터 끝까지 모든 것을 다 예상하고 개발할 수 는 없을것이니. (필요한 라이브러리가 무엇인지, 실제 그 라이브러리의 장단점이 무엇인지, 어떻게 사용하면 바로 알수 없는 버그가 되어버리는지 등등. 뭐 큰 소프트웨어일 경우 이것을 다 예측해야 한다라고 하면 할말없지만. 이것도 비용을 고려해서 처신해야하겠지. Cost Estimate 자체가 Cost 가 드는것일거니.) 암튼 아쉬운건 중간에 디자인이 바뀌었을때 (실제로 처음 디자인의 클래스들을 몇개 뺀것도 있고, 인터페이스만 맞춰본 것들도 있고 그러함) 바쁜 사람들이 참석을 하지 못해서 처음부터 설명해야 하는 경우이다.
          * PairProgramming 을 할때 가장 답답해지는 상황은 잘 이해 안가면서 넋놓고 있을때랑, 둘이 같이 있어도 Solo Programming 하느 사람 마냥 혼자서 문제를 끙끙거리며 풀려고 하는 모습이다. 꼭 문제를 스스로 삽질해서 풀어야만 자기실력이 향상되는것일까? 다른 사람에게 올바른 질문을 할 수 없는 사람은 혼자서 문제 푸는데에도 오래걸리게 된다고 생각한다. 상대방에게 질문을 하면서 자신이 모르는 것 자체를 구체화하고 (문제 자체가 모호한상태 자체가 문제다. 무엇이 문제인지, 자신이 모르는 것이 구체적으로 무엇인지 모르면서 어떻게 문제를 해결할까? 자신이 모르는게 버클리소켓 전체 사용과정인지 소켓 API의 인자들을 모르면서 네트웍 프로그래밍을 할 수 있을까. 그런사람들에게 '지금 모르겠는게 뭐지?' 라고 물으면 80-90%는 '다 몰라요' 이다. 모르겠는 부분에 대해서 하나하나 구체화시켜나가라. 구체화시킨 예로서 생각을 해봐도 좋을것이다. 시나리오를 만들어보면서, 그림을 그려보면서, 아니면 자기 자신이 그 시스템의 일부가 되어 보면서.) 다른 사람의 아이디어를 자신의 사고에 붙여나가면서 '더 좋은 방법' 을생각해낼 수는 없을까? 언제나 문제의 답을 내는 방법은 '이사람의 방식' 아니면 '저사람의 방식' 뿐일까.
         그래도 메신저리스트의 사용자 추가/삭제 부분에 대한 JTree 부분 플밍을 비슷한 수준으로 했다는 것과 CVS 에 add & commit 하는 전체 한 과정을 해본점에서 의의를 두어본다.[[BR]]
          DeleteMe) ''참고로 자바에서는 순수한 형태의 MVC 모델을 사용하지 않습니다. 변형된 형태의 MVC 모델을 사용합니다 [http://java.sun.com/products/jfc/tsc/articles/getting_started/getting_started2.html Introducing Swing Architecture]. 이론과 실제의 차이랄까요. --이선우''
         1002는 CVS 사용방법에 대한 예를 보이고 설명을 했다. wincvs 윈도우 버전에 익숙하지 않았던 관계로 command 입력방법을 가르쳐줬다. 그리고 영서와는 주로 Swing쪽을, 창섭과는 Java Socket Class 에 익숙해지기 위해 Socket 관련 SpikeSolution 을 했다.
         대학교들어와서 그정도로 열심히(?)공부한적은 별루 없었던거같다.. 그날 이얘기를 들은 1002형은 놀란표정이었지만 사실 그랬다.. 그러니깐 학점이 그렇게 나왔겠지.. -_-;; 암튼 일주일전에 봤던 자바 기본개념을 바탕으로 남들 다 해본 스윙 기본틀이나 메뉴같은걸 작성해봤다.. 아참 그전에 CVS사용법을 배우고, Architecture와 Design에 대해서도 들었다.. 신기하다.. 무슨 도면같았다.. 이제서야 느낀거지만 프로그램에 코딩이 차지하는비중은 1/2도 안되는구나라는걸 느꼈다.. (이제서야? --;;) 여지껏 놀은시간이 너무 아까웠다.. -_-;; --영서
  • Refactoring/BadSmellsInCode . . . . 8 matches
         내가 이 문제로 Kent Beck 을 방문했을 때 그는 "언제" 를 설명하기 위해서 "Smell" 이라는 표현을 사용했다. 우리는 많은 코드들을 보았고, 그것들을 보면서 Refactoring이 적용가능한 어떤 구조를 발견했다.
          * ExtractMethod 하는중 parameter를 많이 넘겨야 하거나, 임시변수를 많이 사용하게 되는 경우 - ReplaceTempWithQuery, IntroduceParameterObject, PreserveWholeObject, ReplaceMethodWithMethodObject
          * 꼭 항상 사용되지는 않는 인스턴스 변수들 - ExtractClass, ExtractSubclass
         Parameter 인자가 많은 함수. 이해하기 힘들고, 사용하기 어렵다.
          * 별로 사용하지 않는 subclass들 - CollapseHierarchy
          * 사용하지 않는 parameter들을 가진 메소드 - RemoveParameter
         서브클래스가 부모의 behavior는 재사용하나 부모의 인터페이스를 지원하기를 원하지는 않을 때.
         나쁜 냄새를 가리기 위한 방향제로 사용되는 주석. --;
  • ZPBoard/PHPStudy/기본문법 . . . . 8 matches
          * 두번째를 많이 사용함.
          * define() 을 사용하여 정의할 수 있으며, 변수와는 달리 한번 정의된 뒤로는 변경할 수가 없다.
          * 우선 기본적으로 C에서 사용하던 +, -, *, /, % 는 동일하게 사용한다.
          * 문자열을 합칠 때 사용되는 . 연산자도 있음(많이 사용함)
          * 앞에서 언급한 각종 연산자를 대입연산자와 함께 사용하는 것도 C와 동일
         C 의 사용법과 동일하다..
  • html5/canvas . . . . 8 matches
          * IE를 제외한 모든 주요 브라우저(?)에서 사용할 수 있는 기능. IE에서 사용하고 싶으면 Explorer Canvas, uuCanfas.js 등의 라이브러리를 사용하여 제한적 기능으로 사용할 수 있다.
         = 사용 방법 =
          * img 요소의 DOM 객체는 Image 생성자를 사용하여 만들 수도 있다.
          * video 요소의 DOM 객체를 사용할 경우 drawImage()를 호출한 시점에서 재생되는 프레임을 그려준다.
          * img 요소나 video 요소 혹은 다른 캔버스를 사용하여 패턴을 지정할 수 있다.
  • 나를만든책장관리시스템 . . . . 8 matches
          * 사용자는 책장에서 책을 볼 수 있다.
          * 사용자는 책을 뽑아 들어 기부자, 기부자가 남긴 말을 볼 수 있다.
          * 사용자 보는 화면 - 책 제목, 이미지, ISBN, 저자, 출판사, 기부자 정보(이름, 기수), 기부자 남기는 말, 기부 날짜, 현재 대여가능 여부
          * 사용자 입력 데이터 - 대출 신청
          * 사용자는 자신의 대출 상태 확인 가능.(상태, 남은 날 등등)
          * 옷. 첨뵙는 분이네요. ^^ [사용설명서] 를 참고하세요. 위키는 자유공간이기 때문에 이것저것 시도하면서 배운답니다. [사용설명서] 에서 애매한 부분이 있거나 읽고나서도 사용에 어색하다면 다시 말씀해주세요. : ) --[창섭]
  • 데블스캠프2003/넷째날/Linux실습 . . . . 8 matches
         척 보기에 리눅스는 윈도우 처럼 비쥬얼하지도 않고, 참 심심하게(?) 생겼음에도 불구하고 사용하는데, 그에는 아래와 같은 장점들이 있습니다.
          * 소스가 공개되어 버그 수정에 사용자가 참여할 수 있음
         === 명령어 사용해보기 ===
          * man (알고 싶은 명령어)의 형식으로 사용한다. cp명령어에 대해 알고 싶으면 man cp를 쓰면 된다.
          === 사용법 ===
          * copy, paste 등 편집과 관련된 다양한 기능을 사용할 수 있다.
          * C 소스를 입력합니다. 단, C++ 스타일이 아닌 C 스타일로. 즉, stdio.h와 printf등을 사용하라는 뜻이죠. 주의할 점은, 여기서 주의할 점은 main() 함수의 리턴값은 void로 해주면 안 되고 int로 해주어야 합니다.(왜 그런지는 모르겠으나 컴파일 에러가 나더라고요.)
         예를 들면, apache 로그 파일을 줍니다. 그리고 sort, uniq, cut, grep, head 등의 명령어의 사용법을 간단히 가르쳐 줍니다. 그리고 이들을 파이프로 연결해서 2003년 6월에 접속한 IP 중에 가장 자주 접속한 IP 베스트 10을 1등부터 뽑아내라고 합니다. ({{{~cpp grep "Jul/2003" access.log| cut -d' ' -f1 |sort|uniq -c|sort -rn|head -10| cut -f2}}})
  • 상협/삽질일지/2002 . . . . 8 matches
          * 방금 삽질 하나 해결..Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 이게 메인 함수에서만 되는게 아니라 이 구문을 사용할때는 throws Exception 을 항상 해줘야만 한다는 사실.. ㅡㅡ; 그런데 이 사실을 진작 체감하고 있었다. 그런데 계속 삽질 했다. 그 이유는
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 이게 사용된 바로 그 메소드에서 throws Exception 를 해줘야 하는데 계속 전체 클래스에서 이것을 했었다. 이게 문제의 원인.. 그러나 아직 왜 꼭 throws Exception 구문을 써야 하는지 모르겠고, Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");이게 없는 곳에서 throws Exception 를 쓰면 에러 뜨는 이유도 자세히는 모르겠다. 모르는것 투성.. ㅡㅡ;;
          * 지금까지 자바에서 if(String1 == String2) 이게 안 먹혀서 계속 고생 했다. 알고 보니 String Class 의 CompareTo 메소드를 사용해야 했다. 허접 삽질.. ㅡㅡ;
          * 이번 삽질은 정말 중대한 삽질이었다. 1학기 평점을 좌우한다고 볼 수 있는 삽질이었다. 1학기 중간고사 대채용으로 내는 자바 프로젝트에서 소켓 부문을 맡은 친구가 알수 없는 에러때문에 엄청난 삽질을 해서 더이상 나아갈수 없다고 했었다. 메신저에서 통신이 안되다니.. ㅡㅡ;; 그 에러는 "No Such Method Found" 에러다. 그러한 Method가 분명히 있는데도 불구하고 안되었다. 나는 황당했다. 그 친구가 자바는 많이 안했어도 MFC랑 C++을 잘해서 소켓을 맡았는데... 나도 그 에러를 같이 찾기 위해서 삽질을 하였다. 소스도 길고 내가 짠것도 아니어서 정말 못 찾을거 같았다. 그 소스는 특성학 모든 클래스가 딱 서버, 클라이언트 두 파일 안에 들어 있었다. 그래서 난 그 클래스들을 각자 파일로 분리해 보기로 했다. 잘 안풀리니깐 한번 정리나 해보면 뭐좀 어떻게 될까 싶은 마음에 그렇게 했다. 그렇게 정리를 하다 문득.. ㅡㅡ;; 같은 이름의 클래스를 서버, 클라이언트에서 각자 다르게 정의해서 사용하는 소스를 발견... ㅡㅡ;;, 그 친구는 아직 자바에 익숙하지 않아서 이런 실수를 했나 보다.. 나도 만약 소스를 클래스별로 파일로 만들 생각을 안했으면 그 에러의 원인을 발견하지 못했을 것이다. 휴. 큰일날 뻔 했넹.. 앞으로는 "No Such Method Found"같은 에러때문에 고생할일은 절대 없기를.. ㅡㅡ;
          * 3일간 날 괴롭힌 초 대박 삽질... 운영체제를 2번 다시 깔게 하고, 리눅스 깔려는 시도까지 하게한 삽질.. 어느날 갑자기 인터넷이 안되었다...이것저것 별의 별거 다 해봤다. 랜카드 바꿔 껴보고, 드라이버 다시 깔아 보고, OS 새로 엎어 보고, 등등...ㅡㅡ;; 3일 동안 초 대박 삽질.. 그것도 시험 기간 동안에.. 오늘 기숙사 컴공 형이 옆에서 아이피 한번 바꿔 보라고 해서 바꿔 보았더니 된다. ㅡㅡ; 어떤 바보가 내 아이피를 사용했었나 보다.. ㅠㅜ
          * 오늘은 그렇게 큰 삽질은 아니지만 요새 별다른 삽질이 없어서 적어본다. 오늘 비행기게임 프로젝트를 하고 있는데 파일에서 적 비행기 경로를 읽어와서 실행하는거를 하는데 이상하게 계속 안되는 것이었다. 분명히 난 맞게 텍스트 파일에 적이 나올 위치를 숫자로 적었고, 정확한 명령어를 사용했는데 말이다. 그래서 계속 삽질하다가 잠깐 밖에 나갈 일이 생겼다. 그런데 걷다가 곰곰히 생각하니깐 왠지 파일읽어 온것을 프로그램에서 string 형으로 생각한거 같았다. 그때 아차 하는 생각이 들었다. 역시 삽질은 안된다고 계속 반복하기보다는 원인을 곰곰히 생각해야 한다는 교훈을 얻었다. 뭐 몸이 그렇게 안따라 주지만. ㅡㅡ;
          * 오늘도 어김 없이 ㅡㅡ;; 삽질을 했다. 이번에는 matrix 클래스를 구현하는데 matrix데이터를 이중 배열로 private영역에 넣어서 이것 저것 해보는데 나중에 클래스의 matrix 데이터를 호출해야할 경우가 생겼다. [4][4] 이거 두개로 리턴할라고 했는데 안되었다. 남훈이형이랑 제본뜬 책찾아 보니깐 배열은 리턴이 안된다고 나왔다. 그래서 고민하다가 *[4] 이거 두개(포인터형 배열 4개짜리)를 사용하고 나중에는 *를 리턴하는 식으로 돌파구를 찾았다.(*[4] 이것도 배열이랑 비슷하게 써먹을수 있었다. 예-> *(matrix[0]+1)) 처음에는 뭔가 되는듯 싶었다. 클래스 내부 배열 설정도 제대로 되고 하였다. 그 .... 러..나.. ㅡㅡ;; 역시나 난 삽질맨이었다. 나중에 + 연산자 재정의 클래스 내에서 객체를 생성해서 리턴할때 뭔가 제대로 먹지가 않았다. 그거 가지고 간만에 ㅡㅡ;; 삽질에 바다에 퐁당 빠졌다. 간만에 해보는 삽질도 그리 유쾌한 일은 아니었다.. -_- 그렇게 계속 신나게 삽질하다가 도저히 안되겠다 싶어서 멤버 데이터를 public에 넣어 버리는 엽기적인 일을 해버렸다. ㅡㅡ; 그 방법밖에는 없는거 같았다. 그 후로는 아무런 걸림돌 없이 쭉쭉 되었다. 진작 이렇게 할걸하는 생각을 했지만 서도 멤버 데이터를 public안에 넣어서 웬지 모를 찝찝함이..
          * 오늘은 간만에 빡센 삽질을 했다. 오픈GL을 하는데, 여러개 반복되는 구문이 많은거 같아서 내 딴에는 함수화 시켜서 편하게 사용해야지 하고 생각하고 함수화를 했다. 그런데 그 과정에서 여기저기 실수해서 겁나게 삽질했다. 실수하고서는 한번 죽 흩어보지 않고 단지 성급하게 빨리 에러를 찾고자 하는 맘에.. 쩝.. 역시 삽질은 정신적인 스트레스를 너무 많이 준다.
  • 새싹교실/2011 . . . . 8 matches
         내가 짠 코드를 직접 출력을 통해 확인하는 것은 분명 매력적인 일입니다. 그러나 처음 익힌 코딩 습관은 버리기 매우 어렵습니다. 많은 학생들이 처음 프로그래밍을 배우며 printf 함수를 사용하여 코드를 검증하는 습관을 들입니다. 그 때문에 상당수의 졸업할때까지 테스트보다는 직접 눈으로 확인하는 것을 선호합니다. 그런데 작성한 코드가 잘 돌아가는지 알기 위해 직접 눈으로 확인해야만 하는 것은 매우 많은 문제가 있습니다.(이것에 대해서 더 적자면 정말 길어질테니 일단 이 페이지엔 적지 않겠습니다.)
          * 학교 수업에서 사용하기 때문에 printf 함수를 소개할 필요는 있습니다. 그러나 새싹교실에서 실습한 코드들을 검증하기 위해 매번 printf를 사용하는 것은 권장하지 않습니다.
          * 혹시 assert를 사용할 줄 모르신다면, 그리고 테스트라는 게 무엇인지 잘 감이 안 오신다면 [김수경]에게 도움을 요청해주세요.
         위키는 새내기들에게 낯선 환경이지만 사용하기 전혀 어렵지 않고, 내용이 쌓이면 게시판에 비해 내용들을 찾아보기 훨씬 좋답니다.
          * 위키를 사용하기 어렵게 느낀다면 그건 익숙하지 않기 때문이예요. 함께 써보는 시간을 마련해주세요.
          * 위키를 더 유용하게 사용하기 위해 지켜야할 것들이 있습니다. 각 반 페이지를 만드실때 페이지 이름은 '''새싹교실/2011/반이름''' 으로 만들어주세요.
          * 커리큘럼 가이드라인은 참고 및 예시용으로 사용하며, 평가와는 무관합니다.
  • 새싹교실/2012/해보자 . . . . 8 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          - 선언된 이후로부터 전역변수처럼 사용 가능하다.
          * 전역변수를 왠만해선 사용하지 마라! 값을 원하지 않을 때 임의로 변경할 수 있다.
          - for를 while처럼 사용할 수도 있다.
          * for를 사용하는 경우: 반복처리할 횟수가 명확할 때
          * while을 사용하는 경우: 반복처리할 횟수가 명확하지 않을 때(특정 조건이 되어야 반복을 그만두게 할 때)
         강재곤 : for 구문을 어떻게 사용해야하는지 알았고 직접 실습을 해봤다. 자신감이 생기는거같다
          * switch문의 사용 방법: case by case로 분류
  • 타도코코아CppStudy/0724/선희발표_객체지향 . . . . 8 matches
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          상속성은 설계 및 코드의 재사용(reuse)을 도와주는 중요한 개념이다.
          겉에서 그객체를 사용하기 위한 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
          자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위한 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
          그렇다면 객체를 사용하여 생기는 마지막 목적지의 차이는 어디서 생기는 것일까? 바로 유저가 머릿속에 생각한 목적지의 차이, 즉 주어진 데이타의 차이에서 오는것이다.
         기능 모형(fuction model) : 시스템 내에서 데이타 값이 변하는 과정을 보여주는 것으로 잘 알려진 자료 흐름도(DFD)가 사용된다.
  • 타도코코아CppStudy/객체지향발표 . . . . 8 matches
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          상속성은 설계 및 코드의 재사용(reuse)을 도와주는 중요한 개념이다.
          겉에서 그객체를 사용하기 위한 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
          자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위한 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
          그렇다면 객체를 사용하여 생기는 마지막 목적지의 차이는 어디서 생기는 것일까? 바로 유저가 머릿속에 생각한 목적지의 차이, 즉 주어진 데이타의 차이에서 오는것이다.
         기능 모형(fuction model) : 시스템 내에서 데이타 값이 변하는 과정을 보여주는 것으로 잘 알려진 자료 흐름도(DFD)가 사용된다.
  • 프로그래머의길 . . . . 8 matches
          프로그래머는 화가와 같다. 화가의 그림에 대한 영감이 프로그래머의 코드에 대한 영감이며, 화가의 화판은 프로그래머의 자판인 것이다. 단지 프로그래머는 화가가 사용하는 붓대신 손을 이용한 코딩을 한다는 차이점 뿐이다. 맨처음 코딩에 대한 영감은 단순하게 시작한다. 하지만 그 영감을 현실속으로 끌어내기 위해서는 많은 시행착오를 거치게 된다. 자신의 실력을 한탄하기도 하면서 자신이 만들어낸 알고리즘에 흠뻑 취하기도 한다.
         이 글을 읽고 있는 독자라면 어느 정도 프로그래밍을 해본 경험이 있을 것이다. 초보자라 함은 프로그래밍에 입문하고자 하는 사람을 말한다. 즉 컴퓨터 사용부터 천천히 배워나가고 있는 사람들이다. 이들은 특정 학원 혹은 학교의 정규 과정을 통해 동료들과 함께 배우기도 하고, 또는 개인적으로 학습해 나가는 경우도 있다. 초보자들의 공통점은 전문가들의 논쟁을 아직 이해 할 수는 없지만큰 관심을 갖고 있으며, 컴퓨터로 모든 일이 가능할 것이라는 부푼 기대에 차있다는 것이다. 여기서 그들의 기대감이 문제시 된다. 기대가 크면 클수록 돌아오는실망감은 비례한다.바로 컴퓨터로 할 수 있는 일이 한정돼 버리는 시점에서 더 이상의 진전이 없게 되는 것이다.
         코드를 버러야 하는 두번째 시점은 완성된 프로그램의 버젼 업그레이드에서 발생한다. 첫번째 경우보다 더 많은 용단을 필요로 하는 시점이기도 하다. 응용 프로그램의 버전업은 이미 만들어진 응용 프로그램에 사용자의 추가 요구사항을 수렴해서 개발한다는 의미와 이전 버전에서 발생된 문제점을 해결한다는 의미를 동시에 가지고 있다. 간혹 사용자의 추가 요구사항이 프로그래머가 상상할 수 없는 경우일 때도 있다. 그 모든 요구사항을 다 수렴해 프로그램을 만들수 는 없기 때문에 프로그래머는 타협점을 찾아 다음버전의 기능을 제한시키게 된다.
         바로 사용자와 프로그래머 사이에서 발생되는 타협점을 결정하는 시점에서 프로그래머의 마음 가짐이 능동적인 자세인지 수동적인 자세인지 따라 코딩의 방향이 결정된다. 능동적이고 적극적인 프로그래머는 사용자의 요구사항을 검토해 참신한 아이디어일 경우 이를 적극 수렴한다. 하지만 수동적인 프로그래머는 현재 버전에서 지원될수 있는 사항만을 검토하는 성향이 있다.
         프로그래머들이 이 시점에서 생각하는 것은 시간이다. 주어진 시간에 어떻게 그 기능을 추가할 것인가를 걱정한다. 너무 많은 코드의 변화는 주어진 시간에 완성할 수 없다는 것이다. 따라서 적당한 타협점을 찾는 것이 프로그래머의 보편적인 경향이다. 하지만 사용자의 요구사항을 수렴하는 방향으로 전환한다면, 프로그래머는 자신의 코드를 다시 한번 생각하게 될것이다. 필자는 이것을 바라는 것이다. 지신의 코드를 다시한번 돌이켜 보면 , 자신의 오류를 찾을수 있고, 또 사용자들이 바라는 방향을 예측할 수 있게 된다. 바로 이것이 완벽에 가까운 코드를 작성하는 방법일 것이다.
  • 학회간교류 . . . . 8 matches
          * 위키사용법 : 네토리 회원은 위키에 약하다? 암튼. 아직 위키 문화에 친숙하지 않고, 에디트를 어렵게 생각하는 것 같아서.. --Netory:경태
          * SQL2005 XML 데이터형 사용관련
          * InfoPath 사용
          * BizTalk Server 사용
          * OllyDBG 나 WinDBG 사용 관련..
         오늘 분산처리 공부하다가 떠오른 아이디어인데, '''PC실 관리 프로그램''' 만들어보면 어떨까요? 각 PC실의 PC 동작 현황(현재 돌아가고 있는 프로그램)과 IP주소, 프린터 동작 여부 등의 정보를 웹상에서 보여주는 거죠.(아마도 인증된 사용자에게만 보여줘야겠지요. 동문서버팀하고 연동해도 되겠네요.) 해당 서버 프로세스는 동문서버에서 돌리고, 각 PC들마다 클라이언트 프로그램을 백그라운드로 돌리면 될 거 같고요. 그러면, 구지 구피에 자리없을 때, 7피까지 올라가보지 않아도 PC실 사용을 파악할 수도 있고, 필요하면 다른 장소에서도 학교 PC실 사용여부를 감독할 수 있겠지요. 차후 전체 PC 네트워크 관리나 바이러스 체크와 같은 관리면 등에도 응용이 가능할 것으로 예상해보고요. 어때요? --Netory:창선이
  • 2학기파이선스터디/함수 . . . . 7 matches
         pass는 아무 일도 하지 않는 통과문(statement)이다. 함수는 최소한 한 개 이상의 문을 가져야 하기 때문에 사용한다.
         인수 없이 return문 만을 사용하면 함수 호출측에 아무 값도 전달하지 않는다.
         return문을 사용하지 않아도 None이라는 리턴 값은 존재한다.
         g, h는 함수 외부에서 정의되었으므로 전역, a,b는 함수 내부에서만 사용되는 지역 변수이다.
         함수 f내부의 h를 전역변수로 사용하려면(즉, 전역변수h의 값을 바꾸고자한다면)
         global문을 사용하여 h가 전역 변수임을 선언해야 한다.
         || 내부 변수 선언 || 지역 영역에 변수를 생성하고 사용하는 것이 가능 || 지역 영역에 변수를 생성하는 것이 불가능 ||
  • 5인용C++스터디/멀티쓰레드 . . . . 7 matches
          * 멀티쓰레드를 어떻게 사용하나?
          * 크리티컬섹션을 어떻게 사용하나?
         이렇게 작업을 함으로써 작업을 멀티 테스킹으로 할수 있다라는 의미입니다. 이때 하나의 작업 단위들을 스레드라고 합니다. "그럼 프로그램 내부에 모든 작업은 스레드로 나누어 지겠네요?" 라는 질문이 있을 것 같은데 그렇지는 않습니다. 스레드란 독립적인 작업 단위입니다. 즉 다른것에 구애 받지않는 자체적인 작업 단위를 스레드라고 합니다. 윈도에서 워드 프로세서를 띄우고 대용량의 데이터를 로드하여 프린터로 출력한다고 가정을 합시다. 프린팅 작업 도중에 워드프로세서를 사용할수 있습니까? 물론 윈도 95에서는 프린터는 프린터 대로 작동을 하고 워드 프로세서는 워드 프로세서대로 작업을 할수 있습니다. 여기에 인터넷을 통해서 큰 데이터를 다운 받는다고 가정을 합시다. 프린터하고 원드프로세서로 새로운 내용을 입력하면서 인터넷을 통해서 데이터를 다운 받을수 있습니다? 물론 할수 있습니다. 여기에서 원드프로세서의 입력작업이 하나의 스레드 프린팅 작업이 하나의 스레드 또한 다운 로드가 또하나의 스레드입니다. 실지로 윈도 98의 내부적인 모든 프로그램의 동작은 멀티 스레드로 설정되어 있습니다. 그렇기 때문에 다중 작업을 할수 있는 것입니다.
         프로그램 작성하다 보면 프로그램 수행도중 현재 프로그램은 다른 작업을 수행하면서 또하나의 작업을 수행하고자 할 때가 있을 것입니다. 이때 사용하는 것이 바로 스레드 입니다. 작업을 함수로 프로그래밍을 하고 난후에 이것을 스레드로 형태로 실행하면 됩니다
         이중 CSyncObject는 CSemaphore, CMutex, CCriticalSection, CEvent의 상위 클래스로서 직접 사용하지는 않습니다.
         반복적으로 동작하는 두 개 이상의 스레드가 하나의 리소스를 공유하려고 할 때, 동시에 리소스에 접근하지 못하도록 하기 위하여 크리티칼 섹션을 사용한다.
         OS에서 공유자원이나 특정코드가 수행되는 도중에 다른 프로세스에 의해 interrupt 되는것을 방지하기 위해 크리티컬 섹션을 사용하게 된다. 이는 윈도우즈 프로그래밍에서 스레드관련 처리를 해 줄 때에도 나오는 용어이다.
  • BasicJava2005/3주차 . . . . 7 matches
          * 기본 자료형과 거의 마찬가지로 사용할 수 있다.
         == Java에서 사용자의 입력을 받자 ==
          * 1.4이전 : BufferedReader클래스를 사용할 수 있다.
          * import [패키지 이름]; 으로 사용할 수 있다.
         == Java API문서 사용하기 ==
          * Java에도 MS의 MSDN같이 사용자를 돕는 메뉴얼이 존재한다.
          * add/remove/get 함수등을 사용하여 배열에 마음대로 추가/삭제가 가능하다.
  • Bigtable기능명세 . . . . 7 matches
          1. 태블릿 개수, cpu rate, 메모리 사용량의 비율을 계산해서
         원형 자료구조를 사용해 공간의 재활용필요 -> 한바퀴 돌아서 공간이 없어지면 memtable들의 minor compaction이 필요하다.
          1. memtable에게 할당된 메모리를 다 사용해서 더 이상 쓰기를 할 수 없을 때
          1. 커밋로그에게 할당된 용량을 다 사용해서 더 이상 쓰기를 할 수 없을 때
          1. 클라이언트 api 사용
          1. 클라이언트 api 사용
          1. 클라이언트 api 사용
  • CVS/길동씨의CVS사용기ForLocal . . . . 7 matches
         Local에서 간단히 CVS를 사용하는 과정에 대한 Tutorial
         CVS를 개인적으로 사용할려면 두가지 방법이 있다. 하나는, 자신의 컴퓨터에 http://www.cvsnt.org/ 와 같은 서버툴을 설치하여 외부에서도 접근하는 것이고, 구지 서버를 돌리지 않고 cvs를 local에 저장소의 기능만을 이용하는 방법이 있다. 길동씨는 자신의 컴퓨터에서 간단한 저장소의 경험을 해보고 싶어서, local로 시도한다.
         SET CVSROOT=local에서자신이사용할저장소
          도움말 : local은 remote에 접근하는 것과 달리 로그인을 하지 않는 것을 전제 한다. 아무옵션도 붙이지 않고, 자신이 사용할 장소만을 지정한다.
         SET CVSROOT=컴퓨터에서 자신이사용할저장소
         cvs -d c:CVSLocal init // -d 태그를 설정안하면 환경변수 CVSROOT의 값을 가져와 쓴다. 모든 cvs사용에 해당한다.
          도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용한다.
  • CvsNt . . . . 7 matches
         === 사용자 추가 ===
         CVSNT 의 경우 cvs 자체 사용자와 NT 사용자 둘 다 받는 것 같다. 그래서 NT 쪽에 Poweruser 그룹의 사용자들을 추가해주면 cvs도 사용할 수 있게 된다.
         일반적인 cvs사용자 추가도 가능하다. 커맨드 프롬프트에서
         cvs -d 저장소이름 passwd -a 사용자 이름
  • D3D . . . . 7 matches
         이런 종류의 책들이 다 그렇듯이, winapi를 사용한다.[[BR]]
         그렇기 때문에, 초반의 한 chapter는 거의다 winapi를 사용해서 [[BR]]
          union // use union - 메모리를 공유하는 성분들에 이름을 지정하는데 사용.
          float x, y, z; // 구조체의 이름이 정의되지 않았지 때문에 x,y,z 성분을 원자 단위로 사용.
          point3 (float X, float Y, float Z) : x(X), y(Y), z(Z) {} // 초기화 목록을 사용. (compiler가 작업을 더 잘 수행할 수 있도록 해준다더군.)
         폴리곤은 개체의 테두리를 표현하는데 사용된다.[[BR]]
         // 실제 사용 예.
  • DataCommunicationSummaryProject/Chapter12 . . . . 7 matches
          * GPS 에 사용
          * 과학이나 군사용으로 사용
          * Iridium: 위성을 사용한 모바일 네트워크
          * 위성은 전통적으로 대륙을 잇는 백본 네트워크로 사용되어 왔지만, 이 역할은 fiber에 의해 강탈당했다.
          * TV 방송국에 의해 선구적이었던, 직접적인 위성 to 사용자 방송은 인터넷에 접근하는 용도로 쓰이는게 점점 늘고 있다.
          * 대다수의 커뮤니케이션 위성은 지구로부터 먼, 그래서 눈에 띄는 지연시간의 GEO를 사용한다.
  • EventDrvienRealtimeSearchAgency . . . . 7 matches
          * 쉽게 생각하면 로봇이 대신 웹서핑을 해서 사용자가 필요한 정보만 실시간으로 수집해서 바로 바로 실시간으로 제공해주는 Searcy Agency를 Event Driven Realtime Search Agency 라고 칭한다.
          * 로봇이 사용자가 지정한 타겟 웹 정보를 짧은 시간 간격으로 수집한다.
          * 각 게시판이나 웹페이지들이 Observable 즉 관찰할 객체들이고 이 객체들은 각자 자신의 Observer 리스트를 가지고 있다. 이 Oberver 리스트는 바로 사용자들이 아니라 이 많은 사용자들과 웹을 매개해주는 서버이다. 이 Obsever 서버 리스트를 가지고 있으면서 해당 자신의 웹이 업데이트 될때마다 업데이트 내용을 이 Observer 리스트 서버(EDRSA가 동작하는)들에게 전송을 한다.
          * 그러면 해당 서버에 있는 EDRSA 들은 해당 웝에 대한 모니터링을 신청한 각 사용자들에게 각 사용자들이 입력한 키워드에 따라서 해당되는 내용들만 해당 사용자의 클라이언트 프로그램에 전송해준다.
  • GUIProgramming . . . . 7 matches
         윈도우 플랫폼에서 프로그래밍을 하는 대부분의 프로그래머가 사용하는 것으로 마이크로소프트사의 제품군에도 사용된다. 대표적인 예는 마이크로 소프트 오피스군이 있다.
         GUI를 다루기 위해서 .NET에서 사용하는 클래스이다.
         볼랜드사의 툴킷으로 C++빌더, 델파이 제품군에 사용된다.
         모티프는 유닉스 환경하 X-Window, 혹은 POSIX 표준과 호환되는 시스템을 위해서 만들어진 툴킷이다. IEEE 1295 산업 표준으로 제정되어있으며, Motif API라는 표기법을 쓴다. 최근에는 Qt, GTK에 많이 밀리지만 여전히 많은 시스템에서 사용되는 툴킷이다.
         윈도우 매니저 KDE에 사용되는 툴킷이다. 이름은 "cute"라는 단어에서 만들어졌다고 한다. 다양한 멀티플랫폼을 위한 기능이 존재하며 다국어 지원이 좋다. 또한 기본적으로 C++을 이용하지만, 파이선이나 펄, C를 위한 바인딩 기능을 제공한다.
         최근 버전의 자바에서 이용하기 시작한 선사의 툴킷이다. 특징으로는 AWT보다 더욱 보기 좋은 그래픽을 제공한다. 또한 AWT와 달리 플랫폼에 비종속적이기 때문에 모든 플랫폼에서 동일한 모양을 보여준다. 그리고 클래스 라이브러리에 약간의 수정을 가함으로써 Windows 에서 기타 플랫폼 (예를 들자면 Mac)의 {{{~cpp Look&Feel}}}사용하는 것이 가능하다. 물론 -_-; 원칙적으로 특정 운영체제의 룩&필은 변경해서 응용프로그램을 개발하는 것은 정책상 불법의 범주에 속한다..
  • Gof/Command . . . . 7 matches
         때때로 요청받은 명령이나 request를 받는 객체에 대한 정보없이 객체들에게 request를 넘겨줄 때가 있다. 예를 들어 user interface tookit은 button이나 menu처럼 사용자 입력에 대해 응답하기 위해 요청을 처리하는 객체들을 포함한다. 하지만, 오직 toolkit을 사용하는 어플리케이션만이 어떤 객체가 어떤일을 해야 할지 알고 있으므로, toolkit은 button이나 menu에 대해서 요청에 대해 명시적으로 구현을 할 수 없다. toolkit 디자이너로서 우리는 request를 받는 개체나 request를 처리할 operations에 대해 알지 못한다.
         어플리케이션은 각각의 구체적인 Command 의 subclass들로 각가각MenuItem 객체를 설정한다. 사용자가 MenuItem을 선택했을때 MenuItem은 메뉴아이템의 해당 명령으로서 Execute oeration을 호출하고, Execute는 실제의 명령을 수행한다. MenuItem객체들은 자신들이 사용할 Command의 subclass에 대한 정보를 가지고 있지 않다. Command subclass는 해당 request에 대한 receiver를 저장하고, receiver의 하나나 그 이상의 명령어들을 invoke한다.
         OpenCommand의 Execute operation은 다르다. OpenCommand는 사용자에게 문서 이름을 물은뒤, 대응하는 Document 객체를 만들고, 해당 문서를 여는 어플리케이션에 문서를 추가한 뒤 (MDI를 생각할것) 문서를 연다.
         undo 할 필요가 없고, 인자를 요구하지 않는 단순한 명령어에 대해서 우리는 command의 receiver를 parameterize하기 위해 class template를 사용할 수 있다. 우리는 그러한 명령들을 위해 template subclass인 SimpleCommand를 정의할 것이다. SimpleCommand는 Receiver type에 의해 parameterize 되고
         THINK 클래스 라이브러리 [Sym93b] 또한 undo 가능한 명령을 지원하기 위해 CommandPattern을 사용한다. THINK 에서의 Command들은 "Tasks" 로 불린다. Task 객체들은 ChainOfResponsibilityPattern에 입각하여 넘겨지고 소비되어진다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/변준원 . . . . 7 matches
         매개변수로 사용되는 변수에 대한포인터를 전달
         함수내에서 매개변수로 사용되는 변수의 값을 변경
         주로 광역적으로 정보를 전달하거나 현 시스템의 상태등을 알고자 할 때 사용.
         포함하여 프로그램내 어디서나 사용이 가능합니다. 이에 반해 지역변수는 함수몸체 안에서 선언하는데 이
         : 대상 객체의 주소값을 전달하는 방식으로 형식 매개변수에 포인터 변수가 사용된다.
          수로 초기화되어 함수 내부에서 실매개변수를 참조하여 사용할 수 있다.
         결과적으로 a=20 b=20이 되는데 결국 함수내부에서 실매개변수를 참조하여 사용하는 것입니다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/임민수 . . . . 7 matches
         c++ 프로그래밍에선 사용자 함수를 많이 쓰게 되는데,
         다른 함수에서는 그 변수를 사용할 수가 없게됩니다.
         대신 그 변수들의 값은 전달인자로 사용할수 있습니다만, 그것들을 사용하여 계산 결과를 리턴하는데
         사용될뿐 실제 그 변수 주소의 값은 변경할 수 가 없습니다.
         마치 변수 하나에 이름이 두개인것 처럼 사용할 수가 있습니다.
          참조전달에 의한 함수를 사용하였을경우 변수 자체의 값이 바뀌기 때문에 위와 같은 결과가 나옵니다.
  • HelpOnLinking . . . . 7 matches
         하지만 이렇게 외부링크를 새창으로 열게끔 하는 방식은 사용자를 새창을 열도록 강제하기때문에 별로 권장할만한 방식이 아닙니다.
         이와같은 기본 형식과 함께, 모인모인/모니위키에서 지원: `wiki:`, `attachment:`. "`wiki:`" 는 내부링크 혹은 인터위키 링크를 뜻합니다. 따라서 `MoniWiki:FrontPage` 와 `wiki:MoniWiki:FrontPage`는 똑같습니다. 주의할 점은 "`wiki:`" 형식은 괄호로 연결되는 링크의 경우 반드시 사용해야 합니다. `attachment:`는 파일 첨부를 위해 사용됩니다.
         WikiName과 같은 식으로 연결되는 것을 방지하고 있는 그대로 보여지는 것을 원한다면 느낌표(''bang'')를 다음과 WikiName앞에 붙여서 다음과 같이 사용할 수 있습니다. {{{!WikiName}}} `!WikiName`. 또한 물음표를 임의의 단어 앞에 붙이면 강제로 링크가 걸리게 됩니다. i.e. {{{?Hello}}} `?Hello`.
         === 사용례 ===
         === 물음표를 사용한 강제 연결 ===
          * 페이지 이름 없이 인터위키 이름을 다음과 같이 사용하는 경우 {{{[MoinMoin:]}}} [MoinMoin:] {{{[[MoinWiki:]]}}} [[MoniWiki:]]
  • HelpOnUpdating . . . . 7 matches
         UpgradeScript가 하는 일은, 위키 엔진(*.php)을 업데이트하고, 기존의 위키엔진을 사용자가 변경하거나 해서 사용하고 있던 *.php는 없는지 검사하고 사용자가 변경한 *.php파일이 있다면 백업해줍니다.
         아래는 `upgrade.sh`를 사용하지 않고 수동으로 직접 업그레이드 하는 방법을 설명합니다.
         `wiki.php`, `wikilib.php`는 가장 중요한 위키엔진입니다. 대부분 사용자가 직접 변경해서 사용하는 경우는 아마 이 두개의 파일일 것입니다.
         다음은 `css/*.css` `imgs/*` `theme/*` `local/*` 등등의 파일을 업데이트합니다. 기존에 사용자가 변경한 파일이 있다면 반드시 백업하시기 바랍니다.
  • MoniWikiOptions . . . . 7 matches
          * 1로 설정하면 테마의 기본 CSS만을 사용하도록 강제 설정. (기본값 0)
          * 기본값은 `$url_prefix.'/css/kbd.js'` : 사용하기 싫으면 그 값을 빈 문자열로 한다.
          * 스마일리 사용을 켜거나 끈다.
          * Email Notification을 활성화 한다. 이 기능을 키면 SubscribePlugin을 사용할 수 있다.
          * 페이지 카운터의 사용 여부를 결정한다 (See PageHitsMacro)
          * 모니위키 블로그에서 트랙백을 사용할 수 있게 한다.
         `gethostbyaddr()`의 사용여부 결정
  • MySQL . . . . 7 matches
         ZeroPage에서 사용하고 있는 데이터 베이스
          ''-- 이건 사용자가 root일 때만 되는거 아닌가요? 권한이 없는걸로 알고있는뎅 ^^ -jeppy''
         mysqldump -p암호 -u사용자 --database DB명 > mysqlbackup.sql
         mysqldump -p암호 -u사용자 DB명 TABLE명 > tablebackup.sql
         mysql -p암호 -u사용자 --database db명 < mysqlbackup.sql
         MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --["상규"]
         [http://network.hanbitbook.co.kr/view_news.htm?serial=131 MySQL과 Transaction] 테이블 생성시 InnoDB 나 BSDDB 를 사용하면 Transaction 을 이용할 수 있다. (InnoDB 추천)
  • NotToolsButConcepts . . . . 7 matches
          SICP를 책을 보면 예제 코드가 SchemeLanguage로 나온다. SchemeLanguage에 대해서는 잘 모르지만, 이 언어를 사용하면 개념 전달을 쉽게 할수 있어서인듯 싶다. 툴이야 몇번 쓰면 자동적으로 익혀지게 되지만(더군다나 요즈음에 나오는 툴들은 더하다) 하나의 개념, 패러다임을 자기 것으로 만드는 데에는 얼마나 오랜 시간이 걸리는가. (ToyProblems 때도, 간단한 문제를 가지고 여러 가지 방법으로 접근하였던 기억이 난다). 밥을 짓는 법을 안다면, 가스불로 만들던, 전기밥솥에 하던 상관이 없다.
         NeoCoin 은 이렇게만 생각했지만, 2년 전 즈음에 생각을 바꾸었다. 구지 영어로 비슷하게 표현하면 UseToolAndLearnConcepts 이랄까? 돌이켜 보면 이런 상황을 더 많이 접하였다. 언어를 떠나 같은 시기 동안에 같은 일에 대하여, 같은 도구를 사용하는데, 한달뒤의 사용 정도와 이해도가 다른 사람들을 자주 보게 된다. 도구의 사용 능력 차이가 재미와 맞물려서 도메인의 사용 폭의 이해도 역시 비슷하게 따라오는 모습을 느낄수 있었다. 멋진 도구에 감탄하고, 사용하려는 노력 반대로 멋지지 않은 도구에서 멋진 면을 찾아내고 사용하려는 노력 이둘은 근본적인 Concept을 배우는 것과 멀리 떨어진것은 아닌것 같다.
  • PairProgramming . . . . 7 matches
          * 하지만 UnitTest도 그렇듯이, 많은 장점을 가진 방법을 완벽하지 않다는 이유로 사용하지 않는다는 것은 아쉬운 일일 것이다.
         나는 .NET의 System.Data의 구조를 보고 즉시 PHP에 적용시키고 싶어졌다. ASP.NET에는 SqlConnection , OdbcConnection , OleDbConnection을 제공해 준다. 이 클래스들을 잘 사용하면 DataTier의 종류가 바뀌어도 코드의 수정을 최소화 시킬 수 있다. PHP는 여러가지 종류의 데이타베이스 관련함수를 제공해준다. 어떠한 데이타베이스를 사용하느냐에 따라 동일한 기능을 하는 다른 이름의 함수를 호출해야만 한다.
         나는 일차적으로 switch코드를 없앨 수 있다는 점을 설명했다. 우리는 Connection클래스가 그다지 크게 바뀌지 않을 것이라는 것에 대해 동의했었고 이 점을 근거로 switch를 사용하는 것이 유지보수를 힘들게 하는가에 대해 질문했다. 솔직히 이정도 코드라면 누구나 수정할 수 있을 것이라고 생각한다. 그리고 그렇게 많은 시간을 필요로 하는 작업도 아니라고 생각한다. 파트너는 Connection을 생성하는 부분을 include 화일로 관리하고 그곳에 한번만 define문을 작성하면 문제가 없다고 주장했다.
         나는 이에 대해 하나의 프로젝트에서 여러개의 데이타베이스를 사용하게 될 경우 여러개의 추가적인 파일들을 관리해야 될지도 모른다고 했다. 그리고 new SqlConnection(); , new MySqlConnection()과 같은 방식으로 사용하는 것이 더 직관적인 것 같다고 설명했다.
         긴 토론 끝에 파트너는 나의 의견에 동의했지만 만약 계속 이런 속도로 작업이 진행된다면 회사에서 가만있지 않을 것이다. (어제도 TDD를 사용했었는데 기존의 코딩시간에 비해 3배정도 더 늦어졌다. 그리고 다 끝내지도 못했고 무엇을 먼저 테스트 해야할지 갈팡질팡했었다. 처음부터 함수단위 테스트만 시도해야겠다는 생각이 원인같다.)
  • ProjectZephyrus/간단CVS사용설명 . . . . 7 matches
         = CVS 사용 in linux =
          설정후 사용 (98의 2번 방법도 무리 없음)
          이런 식으로 사용
          ==== local 사용자를 위한 서버 설정 ====
          '''1. 사용자 그룹 추가'''
          이제 ZeroPage 서버내에서 cvs 그룹에 등록된 사용자는 ZP내에서는 접근 가능
          ==== 원격 사용자를 위한 서버 설정 ====
  • TCP/IP 네트워크 관리 / TCP/IP의 개요 . . . . 7 matches
          *1983 - 군사용 표준(MIL STD)로 TCP/IP 프로토콜 채택.
          * '''인터넷''' - MILNET과 ARPANET을 합친 전체 네트워크를 가리키는 말로 사용.
          *''Internet'' : 원래 ARPANET에서 성장. 다양한 네트워크를 하나의 논리적 네트워크로 묶기 위해서 인터넷 프로토콜(IP)을 사용하는 서로 연결된 네트워크의 전세계적 모임.
          * 개방형 프로토콜 표준 : 특정 컴퓨터 하드웨어나 운영체제에 독립적으로 자유롭게 사용가능.
          * 표준화된 하이레벨의 프로토콜 : 일관성 있고, 널리 사용 가능한 사용자 서비스를 위해서.
          *ISO(International Standards Organization, 국제 표준기구)에 의해 개발된 구조적 모델 '''OSI'''(Open Systems Interconnect Reference Model)은 데이터 통신 프로토콜 구조와 기능 설명을 위해 자주 사용.
  • YouNeedToLogin . . . . 7 matches
          * 사용에 번거롭고 귀찮은 절차가 생긴다.
          * 일부의 사용자에게 틀속에 있다는 느낌을 준다.
          ''제가 페이지수정에 로그인 의무화를 주장하는 가장 큰 이유는 보기좋고 편리한 RecentChanges 입니다. 로그인이 귀찮은건 사실입니다만 보다 잘 정리된 ZeroWiki 를 사용하고 싶습니다.'' --["이덕준"]
          ''ZeroWiki는 아무나 어떠한 제한없이 로그인할 수 있습니다. 전 후자의 경우는 위키 초보자가 저지르는 실수라고 생각합니다. 로그인을 할수 있는 사용자는 그런 실수를 하지 않으리라 봅니다. 그리고 다시 말씀드리지만 그러한 작은 불편 때문에 YouNeedToLogin을 주장하는 것은 아닙니다. --["이덕준"]''
          저도 사실 로그인을 글쓰기 권한으로 하는 방안에 찬성하는 입장이었는데 생각해보니 위키 사용에 익숙치 않은 사람들에겐 '로그인의 의무화'가 글을 쓰는데 또하나의 벽이 생길지도 모르겠습니다. 위키가 일반 게시판과 다르듯이 일반 싸이트 로그인하듯이 로그인하는 것과 다르다고 생각합니다. --["창섭"]
         한 보름 정도만 ZeroWiki를 YouNeedToLogin 모드로 사용해보길 제안합니다. 그 이후에 YouNeedToLogin 모드를 유지할지를 결정했으면 합니다. --["이덕준"]
         그런데.. 보름 정도 YouNeedToLogin 모드로 사용하게 된다면, 로긴을 하지 않았을 때 글을 쓸 수 없다는 거지요? 그건, '로그인 하지 않고 글 쓰는 것' 을 막는 거겠군요. 개인의 자유에 맏겨두지 않고 말이지요. 전 반대합니다. 일단, 싫고, 자유와 가능성을 제한한다는 것이 싫습니다. --["zennith"]
  • ZeroPage_200_OK/note . . . . 7 matches
          * uploder에게 리소스를 올릴때 사용 주로 새글을 쓸때 많이 사용한다.
          * resource에 사용 그 url에 딱 올라갈 때 쓴다. 주로 수정에 사용된다 이미 ID를 알고 있으므로.
          * 반환값을 사용할수 있고
          * 프로세스간 통신에 사용되는 Pipe
          * 현재 가장 많이 사용되는 방식
  • bitblt로 투명배경 구현하기 . . . . 7 matches
         우선 앞으로 사용될 mask에 사용될 DC를 만들어 봅시다.^^
         bitmap_mask=CreateBitmap(size_x, size_y, 1, 1, NULL); //mask로 사용할 흑백 비트맵을 생성합니다~!'ㅇ')/
         배경으로 사용될 색(RGB(255,0,255))이외에는 모두 검은색으로 만들어 주었습니다.^^
         배경으로 사용되는 색은 흰색이 되었구요.^^ 그러니까 결과는..
         AND연산을 사용했어요.^^
         현제 사용중인 소스의걸 조금 변형해서 복사한터라.^^ 실수가 없으면 좋으련만..
  • html5/offline-web-application . . . . 7 matches
          * 스마트폰이나 넷북 등의 모바일 웹 단말기에서 네트워크 상태와 관계없이 계속 사용할 수 있다.
          * 클라이언트에 캐시된 리소스를 사용하여 동작한다.
          * 웹 어플리케이션을 오프라인에서도 사용할 수 있도록 리소스를 클라이언트 쪽에 캐시하기 위한 기능.
          * 업데이트 체크는 캐시된 웹 어플리케이션에 사용자가 액세스할 때 이루어진다. 혹은
          * 줄 바꿈 코드는 '\r\n', '\n', '\r' 모두 사용할 수 있다.
          * 제한을 피할 수 있어 편리하지만 사용시 신중을 기해야한다.
          * 개발 중에는 어플리케이션 캐시를 사용하지 않는다.
  • html5/outline . . . . 7 matches
          * 섹션 요소를 사용할 때는 항상 아웃라인을 염두해 둘 것
          * 아웃라인과 상관 없는 범위를 지정하 ㄹ때는 div를 사용할 것
          * article 요소를 사용할 것인가 말 것인가는 콘텐츠를 해당 페이지에서 분리해서 사용 가능한가에 따라 결정
          * aside는 없어도 문제 없을 섹션에 사용
          * 여러 제목을 묶어 하나로 만들기 위한 {{{<hgroup>}}} 태그 사용가능
          * figure 요소를 사용하면 콘텐츠 흐름에서 요소를 분리할 수 있고 필요할 경우 캡션을 붙일 수도 있다.
  • 객체지향분석설계 . . . . 7 matches
          프로젝트의 목표는 여러가지로 정할 수 있다. 이 프로젝트를 통해 얻고자 하는 비지니스 요구사항, 이 프로젝트를 사용하는 사용자가 얻기 위한 사용자 요구사항, 그리고 개발자 요구사항등이 있을 수 있다.
          세 가지 요구사항중 우리는 사용자의 요구사항에 귀를 기울이면 된다.
          * 기본흐름(*) : 기본 사용 시나리오
          * 대안흐름 : 기본 사용 시나리오중 분기가 발생할 수 있는 경우
          * 예외흐름 : 기본 사용 시나리오중 예외가 발생할 수 있는 경우
  • 데블스캠프2011/둘째날/후기 . . . . 7 matches
          * 겉모습에서 일단 코드가 나오지 않으니 확실히 잘 모르는 사람도 생각하기 쉬울 것 같습니다. 다만 반복문 구문 블록이 여러개로 나뉘어 있는데 비슷비슷해 보여서 좀 불편하기도 하더군요. 하지만 중요한건 언어의 사용법이나 형태가 아니라 만드는 사람의 실력에 달렸다는걸 만들면서, 그리고 다른 분들이 만든 물건들을 보면서 다시 한 번 느꼈습니다. 어릴 때부터 이런걸로 교육받고 자라면 코딩 잘하려나 -_-
          * [http://sdec.kr SDEC] 가느라 못 들었는데 나중에 다른 학우들이 한 걸 돌려보며 저도 다시 Scratch를 사용해봤습니다. 오랜만에 하니 재밌네요 ㅋㅋ
          * 리버싱 프로그래밍 하는 것을 보고, 패킷을 주고 받는 것을 얻어서 사용한다던지 또 웹에서 javascript injection으로 쿠키를 얻어서 그것을 사용할 수 있는 사이트에서 다른 아이디로 로그인 하는 것도 보았다. 정말 신기했지만 그렇게까지 하기 위해서는 무지하게 다양한 내용을 알아야 할 것 같았다.ㅜ
          * 이번 주제는 1학년 때 새싹 스터디 하면서 잠깐 보여주었던 내용을 다시금 보게 되어서 재미있었습니다. Cheat Engine을 직접 사용해 볼 수 있는 부분도 상당히 매력있었습니다. 많이들 듣던 해킹에 대한 정확한 정의도 알게 되었고 그 과정이 어떻게 되는지 조금이나마 알 수 있었던 부분이었습니다. 세미나에서 보여주고자 했던 게임이 생각되로 되지 않아 아쉽긴 했지만, 한편으로는 저렇기 때문에 보안이 중요하다는 것도 다시금 생각할 수 있었습니다.
          * 씐나는 Cheat-Engine Tutorial이군요. Off-Line Game들 할때 이용했던 T-Search, Game-Hack, Cheat-O-Matic 과 함께 잘 사용해보았던 Cheat-Engine입니다. 튜토리얼이 있는지는 몰랐네요. 포인터를 이용한 메모리를 바꾸는 보안도 찾을수 있는 대단한 성능이 숨겨져있었는지 몰랐습니다. 감격 감격. 문명5할때 문명 5에서는 값을 *100 + 난수로 해놔서 찾기 어려웠는데 참. 이제 튜토리얼을 통해 어떤 숨겨진 값들도 다 찾을 수 있을것 같습니다. 그리고 보여주고 준비해왔던 얘제들을 통해 보안이 얼마나 중요한지 알게되었습니다. 보안에 대해 많은걸 생각하게 해주네요. 유익한시간이었습니다. 다음에 관련 책이 있다면 한번 읽어볼 생각이 드네요.
          * 재작년에 인공지능 과목을 들었던 기억이 다시 떠오르네요. 인공지능을 아직 듣지 않은 학우들은 좀 더 어려웠을 것 같아요. 이번 시간에 짠 코드를 다른 여러 카테고리와 실제 웹문서에 적용해보면 어느 정도로 문서를 분류할 수 있을지, 실제 웹문서에 적용시킬 때 정확성을 더 향상시키기 위해 어떤 방법을 사용할 수 있을지 더 공부해보고 싶습니다. 그리고 대책없이 급하게 짜다보니 코드가 너무 지저분해진 것이 아쉽네요. RubyLanguage로 다시 짜봐야지...
  • 데블스캠프2013/첫째날/후기 . . . . 7 matches
          * 데블스 캠프에서 빠질 수 없는 내용인 버전 관리 프로그램 관련 내용을 안혁준 선배가 해 주셨습니다. 전체적으로 깔끔하게 진행한 느낌이었고, 직접 사용까지 해 보면서 새내기들은 조금 더 와 닿지 않았을까 싶네요. 다만 후반의 실습 부분은 약간 구성을 바꾸면 조금 더 매끄럽게 실습을 할 수 있지 않았을까 하는 아쉬운 느낌이 있었습니다. - [서민관]
          * 버전 관리 프로그램이라는 점에 대해서는 작년에도 SVN(이 맞나요?)을 했던 것 같던데, 올해 git을 배워가네요! 근데, 이건 제가 git을 공부를 해야 될 것 같습니다. 이해는 머리속에서 잘 하는데, 사용을 못하겠네요ㅠ_ㅠ. 확실히 저는 습득속도가 느린가봐요ㅠ..어어ㅡㅠㅓ.. - [김해천]
          * 많은 도움이 되는 시간이었습니다. 사실 버전을 따로 관리 하지 않아서 오히려 완성된 코드에 손을 대기 꺼져질 때도 있었는데 Git을 사용하면 이런 부단 없이 코드를 수정 할 수 있을것 같습니다. -[백주협]
          * 네트워크는 물론 리눅스를 사용해본 것도 처음이었는데 공부할 것이 많은 것 같습니다. 우선 새로운 프로그램을 접해 봤다는 점에서 큰 수확이었다고 생각합니다. 네트워크 장비를 구비하여 시뮬레이트 하기가 쉽지 않을텐데 이렇게 간단하게 프로그램을 사용하여 시뮬레이트 할 수 있다는 것이 신기했습니다.- [백주협]
          * 시스코 공부하면서 GNS만 사용해봤는데 오픈소스에도 좋은 시뮬레이터가 있다는걸 알게되서 좋았습니다. 코드로 사용할 수 있다는 점도 상당히 마음에 드네요 - [장혁수]
  • 새싹교실/2011/Noname . . . . 7 matches
          * 이스케이프 시퀀스의 사용
          * 서식문자의 사용과 이유
          * switch의 경우 statement 에 break의 사용을 까먹지 맙시다.
          * 여러가지 종류의 반복문에 대해서 배웠습니다. 여러가지 형태의 별을 찍어 보았는데 재밌는 것 같습니다. 상황에 따라서 편한 반복문을 사용해야 겠습니다. 다양한 별을 찍으면서 반복문에 대해 익숙해 져야겠습니다. 저번주에 배운 내용인데도 불구하고 많이 까먹어서 복습을 해야 겠습니다.
          * 재귀함수의 사용
          * 재귀함수의 사용법을 익숙하게 하기 위하여 여러가지 예제를 풀어보았습니다. 처음 두가지 예제는 비슷해서 그런지 금방 끝냈는데 하노이탑은 힘들어 하더라구요. 저도 작년에 이 문제를 풀기위해 온갖 노력을 하다가 그때 선생님의 도움으로 간신히 풀었는데 그 기분이 짱이더라구요. 하노이탑까지는 꼭 풀고 다음을 배워야겠습니다. - [박정근]
          * 선언시에 바로 배열을 초기화 할때에는 중괄호 {}를 사용한다.
  • 새싹교실/2012/도자기반 . . . . 7 matches
         그래서 일단 C에서 자주 사용되는 자료형과 변수 선언& 초기화 방법 그리고 기본적인 연산자 순으로 스터디를 진행했습니다.
         마지막으로 입출력 기본 함수 사용법을 알려준 후 C수업시간에 한 예제들과 간단한 과제들을 직접 해보게 시켰습니다.
          * 다양한헤더파일을 설명해줬습니다. 2주차 예제에 새로 등장한 stdlib.h, time.h 에 포함되는 간단한 함수들을 설명했습니다. 그리고 #define을 쓰는 이유도 설명했습니다. 랜덤변수를 얻기 위한 rand함수와 사용법 등을 알려주면서 다시 한번 winapi.co.kr 에 대해서도 언급했습니다. 또한 srand(time(NULL))을 사용하여 씨드를 설정해줘야 매번 다른 값이 나오는 것도 설명 했습니다.
         구조체 선언 방법과 typedef를 쓰는 이유를 설명 하는데 구조체 예제 안에 배열이 있어서 배열에 대해서 먼저 설명했습니다. 배열의 이름이 갖는 의미와 인덱스로 접근가능한 자료구조라는 것을 설명했습니다. 그 다음으로는 미뤄왔던 함수에 대해서 설명했습니다. 이번에도 예제로 설명하려 했는데 파라미터로 포인터를 받아오기에 먼저 포인터에 관한 설명을 했습니다. swap예제를 사용하여 call by value 기반의 C에서 포인터를 사용하여 call by reference를 구현 할 수 있다고 설명했습니다. 그리고 배열접근 방법에 인덱스와 배열이름+숫자 로 접근하는 방법도 알려줬습니다.
          * 정종민 - 아침7시에 수업, 처음에는 wiki사용법을 배웠고 먼가 처음하는 거라 생소한 wiki? 그 다음에는 요즘 C언어 시간에 배우는 수업에 대해 복습을 했다. 처음하는 c언어라 하나도 몰라 헤맸는데 복습하니 이제야 먼지 좀 알겠다는... ㅋㅋㅋ
  • 위키설명회2005/PPT준비 . . . . 7 matches
         주소 영역을 8bit 만 사용, 상위 8bit 은 00 으로 가정하고 addressing 을 하면
         처음 온 사용자들에게 뒤로 버튼을 누르게 만드는 결정적 요인. 글씨만 빼곡히. 어려워 보인다.
          * 그런데 디자인이 구립니다. 그점이 처음 온 사용자들에게 뒤로 버튼은 눌르게 만드는 결정적인 요인일수도 있습니다. 글씨만 빼곡히 ... 어려워보입니다. 더이상 쉬워지기 힘든데도 말이죠. 많은사람이 참여하지 않아서 그래서 위키의 사상,철학,이념,방식, 시스템이 널리 퍼지지 못하고 있지는 않을까 생각해봅니다
         ==== 또 다른 사용용도 ====
         많은 사람들이 그냥 아무 생각없이 링크 달 수 있다는 편리함으로 SeeAlso의 사용에 유혹을 받지만 SeeAlso에 있는 링크는 [InformativeLink]여야 한다.
         이번 위키설명회는 ZeroPage소개와 함께 이루어지며. 위키를 사용하는 간단한 실습자리도 마련되어 있습니다.
         각 위키마다 언어습과이나 문화가 틀리고 사용법도 틀리고... 처음에는 쉽게 시작할지라도 조금만 깊히 알려고 들면 너무나 복잡해져버리 더군요.
  • 이영호/개인공부일기장 . . . . 7 matches
         ☆ 앞으로 공부해야할 책들(사둔것) - Effective C++, More Effective C++, Exeptional C++ Style, Modern C++ Design, TCP/IP 네트워크 관리(출판사:O'Reilly), C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Physics for Game Developers(출판사:O'Reilly), 알고리즘(출판사:O'Reilly), Hacking Howto(Matt 저), Windows 시스템 실행 파일의 구조와 원리, C언어로 배우는 알고리즘 입문
         ☆ 레퍼런스 - 리눅스 공동체 세미나 강의록, C언어 함수의 사용법(함수 모음), 데비안 GNU/LINUX, C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Secure Coding 핵심원리
         26 (화) - Compilers, C++(다양한 Virtual 상속, Class의 메모리 구조-C의 구조체와 대비하여/Class는 구조체로 포인터함수를 사용해 구현한 메모리 구조와 비슷하다.)
         - 26 (화) - malloc, new로 생성되어지는 메모리 구조. dynamic memory alloc은 변수(클래스)앞 1WORD(32비스에서 4바이트) 앞에 정보(크기, 위치, 사용)를 저장한다.
         - 26 (화) - 이러한 CPU 구조를 무시하고 원래 크기를 사용하려면 pragma 전처리기로 !!!구조체 선언 사이에!!! pack(1)을 해준다. 1바이트가 1WORD란 뜻이다. 구조체 선언의 끝에는 unpack을 써준다.
         16 (토) - Socket/System Programming in C (Signal 처리와 Process간의 Pipe 사용법(IPC)), 유리수, 카네기 행복론.
  • 정모/2011.3.21 . . . . 7 matches
          * Emacs & Elisp 후기 :의 소개를 보면서 다양한걸 사용하는 승한형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양한걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
          1. 오랜만에 승한선배께서 오셔서 세미나 해주시니 좋네요!! 피자도 사주시고ㅜㅜㅜ 잘먹었습니당 :9 승한 선배 세미나 덕분에 정모가 더 알찬 시간이 된 것 같습니다. emacs는 전에도 [데블스캠프]에서 소개해주신 것이 기억납니다. 그때 간단히 써보았는데 파워풀한만큼 처음에 적응하기는 많이 힘들다는 느낌을 받았었어요. 그런데 다시 봐도 어려워 보이네요T_T 하지만 단축키를 사용하여 많은 작업을 할 수 있다는 것이 매력적입니다. 빠르고 효율적인 것도 그렇지만 제 노트북 터치패드가 고장인데다 마우스도 가끔 정신이 나가거든요…….
          * Ice braking은 많이 민망합니다. 제가 제 실력을 압니다 ㅠㅠ 순발력+작문 실력이 요구되는데, 제가 생각한 것이 지혜 선배님과 지원 선배님의 입에서 가볍게 지나가듯이 나왔을 때 좌절했습니다ㅋㅋ 참 뻔한 생각을 개연성 있게 지었다고 좋아하다니 ㅠㅠ 그냥 얼버무리고 넘어갔는데, 좋은 취지이고 다들 읽는데도 혼자만 피하려한게 한심하기도 했습니다. 그럼에도, 이상하게 다음주에 늦게 오고 싶은 마음이 들기도...아...;ㅁ; 승한 선배님의 Emacs & Elisp 세미나는 Eclipse와 Visual Studio가 없으면 뭐 하나 건들지도 못하는 저한테 색다른 도구로 다가왔습니다. 졸업 전에 다양한 경험을 해보라는 말이 특히 와닿았습니다. 준석 선배님의 OMS는 간단한 와우 소개와 동영상으로 이루어져 있었는데, 두번째 동영상에서 공대장이 '바닥'이라 말하는 등 지시를 내리는게 충격이 컸습니다. 게임은 그냥 텍스트로 이루어진 대화만 나누는 줄 알았는데, 마이크도 사용하나봐요.. 그리고 용개가 등장한 게임이 와우였단 것도 새삼 알게 되었고, 마지막 동영상은 정말 노가다의 산물이겠구나하고 감탄했습니다. - [강소현]
          1. 승한오빠 특별 세미나(emacs & elisp) : 교육기간이니 '''칼퇴할때 세미나 한번 해주세요!!''' 라고 요청드렸는데 선배님 펌프질에 보람을 느꼈던 순간이었습니다. 칼보단 감자깎기가 흙당근이나 감자를 깎을때 진리이듯이 좋은 프로그램과 좋은 툴을 적절히 사용하는게 얼마나 중요한지를 다시 생각해볼 수 있었습니다. 이 세미나 이후 아직도 textPad 강제로(?) 사용하고 있는 2학년 학우들이 불쌍해졌습니다......
          1. 준석이 OMS(World of Warcraft) : 동영상을 적절하게 사용해서 집중력을 높여준 세미나였다. 아쉬운 점은 쪼----금 길었다는거;;
  • 02_Python . . . . 6 matches
          * 사용하기 쉽고 , 배우기 쉬우며 여러 방향으로 이용할수 있는 언어이다.
          * GUI , 시스템 유틸리티 , AI , 인터넷 스크립팅 등에 사용할수 있는 언어이다.
         == 파이썬이 사용된 예 ==
          * Infoseek 이란 포탈 싸이트는 일부 검색엔진을 파이썬 기반으로 사용한다
          * NASA 는 임무 제어 시스템에 파이썬을 사용한다
          * Industrial Light and Magic 사는 파이썬을 사용하여 광고용 에니메이션을 제작한다
  • 0PlayerProject/커널업로드작업정리 . . . . 6 matches
          * 방법 2: U-Boot 사용 (현재 사용하고 있는 방법)
          * 방법 3: ARMDown 사용 (ARM 부트로더가 올려져 있어야 하며 약간 느림)
          * 크로스 컴파일러 안에 들어있는 것을 사용함.
          * 큐티 라이브러리를 사용했으나, 매우 느림.. (더군다나 8M..) 그래서 사용하지 않을 계획.
  • 2학기파이선스터디/모듈 . . . . 6 matches
          * 사용자가 모듈에 정의된 함수나 변수의 이름을 사용하도록 허용하는것 ( = 라이브러리)
         == 모듈을 왜 사용할까? ==
          * 코드를 재사용 할 수 있다.
          * from 모듈명 import 이름 (이름.. 사용)
          * from 모듈명 import* (모두.. 사용)
  • 3DGraphicsFoundationSummary . . . . 6 matches
          * 왼손 좌표계 : 공간개념 이해하기 쉽기 때문에 그래픽스에서 많이 사용한다. 앞뒤가 Z, 좌우가 X, 위아래가 Y
          * 광원 모델 사용(Ray-Tracing법 많이 사용)
          * 사용하는 함수 : glEnable(GL_BLEND), glBlendFunc(원본 픽셀에 대한 블랜딩 계수를 계산하는 방식, 대상 픽셀에 대한 블랜딩 계수를 계산하는 방식)
         || GL_ONE || 원본 색상을 그대로 사용한다 ||
         || GL_ONE || 대상 색상을 그대로 사용한다 ||
  • AI오목컨테스트2005 . . . . 6 matches
         || 12/29 || 4시 칠피 || 2인용 오목/현태 || 사용자 정의 메시지 사용법 ,, [MFC/MessageMap] ,[MFC/Socket] || 태훈(레저 생활),민경 ||
         || 1/05 || 4시 칠피 || X || 표준 오목 모델 사용법 설명 || 진행못함..||
         || 1/12 || 4시 칠피 || X || 표준 오목 모델 사용법 설명 || 없음 ||
          * [(hongryun2)사용자정의메시지사용]
  • Benghun/Diary . . . . 6 matches
         최근 모듈화에 대해서 공부하다가 dependency에 대해서 생각해 보았다. 무엇을 만들었을 때 dependency가 발생하는가? 함수나 클래스를 사용할 때 발생하더라. 클라이언트 코드는 사용하는 함수나 클래스가 변경될 때 영향을 받을지도 모른다. 그렇다면 dependency를 최소화하는(또는 없애는) 방법은 함수 나 클래스를 사용하지 않으면 된단 말인가? 코드 중복은 어떻게 없앨 수 있더라?
         아는 사람 중에 함수나 클래스를 만드는 것을 대단히 꺼리는 사람이 있다. 만들면 좋을 것 같은 간단한 함수조차도 직접 만들려고 하지 않는다. 하지만 이미 잘 만들어 진 라이브러리는 자주 사용한다. dependency가 없다면 변경에 영향을 받는 모듈이 없을 것이다. 나름대로 잘 사용하는 replace all in files, replace all in file, copy & paste등이 강력한 프로그래밍 도구중 하나인 것 같기도 하다.(최소한 나보다는 잘 사용하는 것 같다, 나름대로의 노하우도 있는 것 같다) 아마도 그는 dependency를 최소화하는 것에 큰 관심이 있거나 다른 이유가 있나보다.
  • CollaborativeFiltering . . . . 6 matches
         협업 (상호협동) 필터링, Recommender System이라고도 불림. ProjectPrometheus에서 사용한다.
         problem space가 2차원 matrix 의 형태를 생각해본다. 행에 대해서는 item을, 열에 대해서는 user를 두고, 그에 따른 rating 을 값으로 둔다. 이 matrix 를 이용, CollaborativeFiltering 은 특정 사용자(user) i 에 대해서 rating 을 예측하고, item 들을 추천한다.
          1. user인 i 와 비슷한 흥미나 선호도를 가지는 사용자 집합(user set)을 선택한다.
          1. 현재 이용중인 user 와 비슷한 취향의 사용자 집합을 선택 - calculate user correlation
          1. 1에서 선택된 사용자 집합중 예측을 위한 부분집합 선택 - neighbourhood selection
          * Accuracy - 시스템이 추천한 item 에 대한 정확성 (추천 item에 대한 사용자의 점수)
  • CppUnit . . . . 6 matches
         == 준비 2 - CppUnit을 사용할 프로젝트 열 때 해주어야 할 기본 세팅 ==
         싱가폴 국립대학의 소프트웨어 공학 프로젝트 수업에서 CppUnit을 사용하고 있는데, http://www.comp.nus.edu.sg/~cs3214s/tools/cppunitVC.html 에 가면 MSVC에서 CppUnit을 사용하는 방법을 쉽게 설명한 안내서를 볼 수 있다.
          학교 수업에서 실질적이고 현장에서 직접 쓰이는 도구들을 사용하도록 유도하는 것이 정말 부럽고, 국내 프로젝트/실습 수업에서 그냥 교재의 챕터 하나씩 발표시키고 이를 지켜보고, 평가하고, 끝에 지엽적인 질문으로 발표자 골탕 먹이는 일 외에도, 교수(혹은 조교)가 해 줄 수 있는 것이 이렇게 많다는 것이 신기하다는; --JuNe
         main에서는 ExampleTestCase를 사용하지 않는데요...
         Win32 API환경에서 MFC TestRunner를 사용하는 방법을 찾았으면 좋겠군요. 여러가지로 시도해보았는데 MFC에 대한 지식이 너무 부족해서 계속 실패하네요. --[이응준]
  • DPSCChapter1 . . . . 6 matches
          * 새로운 문제를 찾고 문제 해결을 위한 기존의 모듈을 재사용하기 위해, 또는 정적이거나 동적인 관점 양쪽 측면에서 프로그램을 이해하기 위해 어떻게 Smalltalk IDE 툴을 사용해야 하는가에 대해
         '''디자인 패턴'''은 끊이없이 발생하는 클래스 구성상의 문제에 해결책을 제시하는 재사용할수 있는 실행 모델이나 아키텍처이다. 때로 패턴은 단독적이거나 하위 클래스 구조에서 어떻게 매서드 들이 함께 작용하는지를 묘사한다.; 아마도, 패턴상에서는 좀더 빈번히 다중 클래스나 그들의 인스턴스의 협력을 보여줄다.
         디자인 패턴은 새로운 패턴에 관해서 간단하게 원리를 표현하고, 패턴은 존재하는 모습을 꾸준히 설명한다.패턴은 세부내용에 들어가기 앞서, 좀더 큰 관점으로 이해를 할수있게 한다. 패턴은 우리가 좀더 큰 관점에으로 ㄸ 다른 디자이너들의 생각의 교환시 객체과 클래스가 어떻게 구성되어 있는지 묘사한다. 우리는 "싱글턴 메소드로 데이터 베이스 접근 부분을 구성했습니다." 그리고 "데이터 베이스 접근은 오직 하나의 인스턴스만이 접근하도록 해습니다. 그 클래스는 싱글 인스턴스의 방법 사용을 위해서 클래스 변수를 사용할것입니다. 그 클래스는 광역으로 광역으로 접근가능한 인스턴스로 될것이지만, ''나중고침''
          * Smalltalk를 좀더 잘알고 사용한다. 특히 주요한 Smalltalk 환경 class libraries들을 알아본다.
  • DataCommunicationSummaryProject/Chapter11 . . . . 6 matches
          * 보내고 받는 모양새가 대칭형이다. 레이저나 극초단파 같은 걸로 사용한다.
          * 단말기만 있으면 거의 영구적으로 base station 과 연결되어 사용가능하고 기타 등등 열라 좋은 점이 많긴하지만 대역폭을 공유한다는 것이 단점이다.
          * 대부분 보급되어있는 wireless local loop system은 산업, 과학, 의학용 주파수(ISM band) 를 사용한다. 실제로 IEEE 802.11b 표준에 기초한 시스템도 있다.
          * 라이센스가 없어도 되기 때문에 누구나 설치할 수 있다. 하지만 누구나 그런 생각을 가지고 사용하기 때문에 통신방해가 많이 일어난다.
          * 8km 까지는 서비스 범위가 도달한다. 표준으로 11Mbps를 지원하지만 multipoint 특성상 대역폭을 사용자들이 공유하기 때문에 실제로는 2~6Mbps 가된다.
          * 허가되지 않은 시스템은 국제적인 ISM 밴드를 사용할 수 있고, 종종 IEEE 802.11 무선랜 표준에 기초하기도 한다.
  • EffectiveSTL/Container . . . . 6 matches
         // assign 메소드를 사용한다.
          * 이 네 가지 방법을 보자. 첫번째 두번째 방법은 루프를 사용한다. 두번째 방법에 루프가 어딨냐고 물으면 나는 모른다. copy 알고리즘 내부에서 루프를 사용한단다. 하지만 assign 메소드는 루프를 사용하지 않고 한번에 짠! 해주는거 같다.
          * copy, push_back 이런것은 넣어줄때 insert iterator를 사용한다. 즉, 하나 넣고 메모리 할당 해주고, 객체 복사하고(큰 객체면... --; 묵념), 또 하나 넣어주고 저 짓하고.. 이런것이다. 하지만 assign은 똑같은 작업을 한번에 짠~, 만약 100개의 객체를 넣는다면 assign은 copy이런것보다 1/100 밖에 시간이 안걸린다는 것이다.(정확하진 않겠지만.. 뭐 그러하다.)
          * 쉽지만 비효율적인 방법 - remove_copy_if 를 사용한다. 이것은 지우고 싶은걸 제외한 나머지 것들을 새로운 컨테이너로 옮긴다. 그 다음에 원래 컨테이너를 새로 만든것과 바꿔 버린다.(우울하군--;)
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/변준원 . . . . 6 matches
         속성 상속이라는 개념 역시 우리의 일상 생활에서 흔히 사용하는 개념을 프로그램으로 표현하기 위한 편리한 수단이다. 어떤 객체의 종류, 즉 클래스는 좀 더 세분화하여 분류할 수가 있는데 이렇게 세분화된 종류나 유형을 subtype 혹은 subclass라고 한다.
         객체 지향 프로그램의 중요한 특징으로 하나의 함수 이름이나 심볼이 여러 목적으로 사용될 수 있는 다형성(Polymorphism)을 들 수 있다. 객체 지향에서의 다형성이란, 복수의 클래스가 하나의 메세지에 대해 각 클래스가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 말한다. 즉, 별개로 정의된 클래스들이 ㅌ은 이름의 함수를 별도로 가지고 있어 하나의 메세지에 대해 각기 다른 방법으로 그 메세지를 수행할 수 있는 것을 의미한다. 예를 들어, 여러 가지 화일(file)들을 프린트 하는 함수를 생각해 보자. 화일에는 간단한 텍스트 화일(text file), 문서 편집기로 만든 포멧 화일(format file), 그래픽을 포함하는 화일(file with graphics) 등 여러 가지가 있다. 이들 각각의 화일들은 프린트 하는 방법이 모두 다르다, 객체 지향에서는 아래처럼 각 종류의 화일을 별도의 클래스로 정의하고, 각각의 화일 종류별로 Print라는 함수를 화일의 형태에 맞게 구현한다.
         정보 은폐란 캡슐속에 쌓여진 항목에 대한 정보를 외부에 감추는 것을 의미한다. 즉, 처리하려는 데이타 구조와 함수에 사용된 알고리즘 들을 외부에서 직접 접근하지 못하도록 하고 캡슐 내부의 함수들만이 접근하게 된다. 객체지향에 관한 서적이나 논문에서 이 두가지 개념이 중요시 소개되는 것은 바로 객체라는 것이 캡슐화와 정보 은폐의 원리를 실제의 프로그래밍 언어에서 실현한 것이기때문이다.
         위에서 살펴볼 캡슐화와 정보 은폐의 이점은 우선 객체 내부의 은폐된 데이타 구조가 변하더라도 주변 객체들에게 영향을 주지 않는다는 것이다. 예로서, 어떤 변수의 구조를 배열(array)구조에서 리스트(list) 구조로 바꾸더라도 프로그램의 다른 부분에 전혀 영향을 미치지 않는다. 또한 어떤 함수에 사용된 알고리즘을 바꾸더라도 signature만 바꾸지 않으면 외부 객체들에게 영향을 주지 않는다. 예를 들어, sorting 함수의 경우 처음 사용된 sequence sorting 알고리즘에서 quick sorting 알고리즘으로 바뀔때 외부에 어떤 영향도 주지 않는다. 이러한 장점을 유지보수 용이성(maintainability) 혹은 확장성(extendability)이라 한다.
         "Printer"라는 클래스는 추상 클래스로서 실존의 어떤 프린터 기능을 가지고 있지 않고, dot matrix printer나 laser printer 등의 완전 클래스들 간의 공통된 특성만 지정하고 있으므로, 그 인스턴스를 만드는 것은 무의미하다. 추상 클래스는 점진적 개발 방법(Incremental Development)에 유용하게 사용될 수 있으며, 공통 속성(attribute)의 추출 및 정의에 유용하므로 문제를 모델링하는데 편리함을 더해준다.
  • HelpContents . . . . 6 matches
         모든 것을 익히고 쓰실 필요는 없습니다. 사용하면서 쓰면 편리할 기능들을 익히면 되겠죠.
         == 사용 방법 ==
          * ["일반적인사용패턴"] - 일반적인, 위키위키를 사용하는 방법
          * ["로그인하기"] - RecentChanges 에 IP대신 실명을 사용하는 방법. 그리고 기타 부가적인 기능을 제공받음.
          * HelpOnUserPreferences - 위키 사용자로 등록하고, 설정가능한 기본값을 입맛에 맞게 고쳐보세요.
  • HelpForDevelopers . . . . 6 matches
         사용중에 불편하신 부분이나 오작동하거나 질문할 부분이 있으면 개발 사이트에 오셔서 언제든지 개발자와 피드백을 하실 수 있습니다.
         모니위키 사용중에 문제점이 발생하는 경우에는 지체없이 http://kldp.net/projects/moniwiki/bugs 사이트에서 문제점을 보고해주시기 바랍니다. 혹은 사용중에 불편한 점이 있다고 생각하셔도 보고해 주시면 고맙겠습니다.
         개발자는 사용자가 불편하게 생각하는 부분을 잘 모르는 경우가 많습니다. 사용자의 피드백은 모니위키를 좀 더 사용하기 편리하게 만들어 줄 가능성을 열어줍니다!
  • HelpOnHeadlines . . . . 6 matches
         ''' 사용례 '''
          = Heading <h1> 일반적인 경우 사용하지 않습니다. =
          = Heading <h1> 일반적인 경우 사용하지 않습니다. =
         /!\ {{{= 레벨 1 =}}} 제목은 <h1>으로 랜더링되지만 다른 위키위키 마크업과 통일성을 위해 '''두개'''의 "==" 부터 제목줄을 사용하시는 것을 권장합니다. MediaWiki에서도 비슷한 이유로 ``레벨1`` 제목 사용을 제한적 허용하고 있는데, 그 이유는 <h1>은 ''페이지의 제목''에 할당하고 있기 때문이라고 합니다.
         모니위키의 경우 제목줄에 기본 문법을 사용하실 수 있습니다. 모인모인 혹은 DokuWiki에서는 이를 지원하지 않습니다.
  • HelpOnInstallation/MultipleUser . . . . 6 matches
         모니위키 버전 1.0.9 이후부터 모니위키는 다중사용자를 위한 좀 더 편리한 설치환경을 제공합니다.
         각 사용자는 따로 설치할 필요 없이 관리자가 설치해놓은 모니위키를 단지 make install로 비교적 간단히 설치할 수 있습니다.
         == 사용자 설치 ==
         이 경우 대부분의 php파일이 설치되지 않은채로 각 사용자가 사용하게 되기 때문에, 모니위키의 php취약점이 발견되었을 경우 관리자가 설치된 [모니위키]만을 업데이트하는 것으로 문제점을 해결할 수 있게 됩니다. 물론 일부 카피된 파일 및 php 이외에 웹상에 직접 노출되는 지역 파일은 사용자가 직접 업데이트해야 하겠지요.
  • JavaScript/2011년스터디/7월이전 . . . . 6 matches
          * 공부하면 할수록 HTML이라던가 웹에 대히 공부해야겠다는 생각만 듭니다. javascript만 사용한다는 것은 무리인것 같아요. 이번에는 연속적으로 키보드 이벤트를 받는 문제였는데 생각보다 쉽지 않네요ㅠ 은 innerHTML은 또 처음 들어요;; 여튼 더 공부하겠습니다!! - [박정근]
          * caucse.net 주소창 주소가 바뀌지 않는 이유 : 프레임을 사용해서
          * 오늘은 PairProgramming으로 [http://probablyinteractive.com/url-hunter URLHunter]를 만들어보았는데 setInterval 함수를 사용하여 계속 페이지 주소를 바꿔주는 부분까지 성공했습니다. 처음에는 setTimeout 함수를 사용해서 생각처럼 제대로 작동하지 않았어요. 다음주엔 새내기가 스터디에 합류할텐데 매우 기대됩니다. 우리가 했던것들을 설명해주고 같이 [http://probablyinteractive.com/url-hunter URLHunter]를 만들어보려고 해요. 시간이 너무 걸리지 않도록 어떻게 접근할지 주말에 미리 생각해보겠습니다. - [김수경]
          * 함수가 프로퍼티로 사용될 수 있다??-43p 라는 표현이 있는데 그게 어떤 것인지 잘 모르겠더라구요.
          * 불리언 타입 변환 -41p에서 만약 불리언 값이 문자열 문맥에서 사용되면 true는 문자열"true"로 변환된다와 같은 말이 무슨말인지 정확히 모르겠어요. 저희가 알아낸 것은 true를 write내에 쓰면 1로 인식한다는 것뿐이었어요.
  • JavaStudyInVacation/과제 . . . . 6 matches
          * AWT와 SWING이 무엇인지 알아보고, 그 차이점에 대해서 알아보기. 그리고 어떤것을 사용하는것이 더 좋다고 생각하는지, 그리고 왜 그렇게 생각한는지...?
          * SWING을 사용하여 버튼이 있고, 그 버튼을 누르면 간단한 메시지를 출력하는 자바 에플리케이션 작성해 보기.
          * 자바에서 네트워크를 사용하는 방법에 대해 간단히 알아보기.
          * 다음과 같은 네트워크를 사용하는 간단한 에플리케이션 만들어 보기. (SWING 이나 AWT 사용 안함)
          * SWING을 사용하여 제작해야 한다.
  • Linux/RegularExpression . . . . 6 matches
         거의 대부분의 유닉스 애플리케이션은 정규식의 사용을 지원한다. 일단 배우면 쓰임이 대단하지만
         (9) () (parenthesis) : ()는 정규식내에서 패턴을 그룹화 할 때 사용
         (11) \ (backslash) : 위에서 사용된 특수 문자들을 정규식내에서 문자를 취급하고 싶을 때 '\'를 선행시켜서 사용하면됨
         정규식은 Unix의 대표적인 유틸리티인 vi, emacs, ed, sed, awk, grep, egrep 등에서 사용할 수 있다. 다음은 grep에서 정규식을 활용한 예를 보여 주고 있다.
         예 : $ who | grep 'hgkim' <= hgkim이라는 사용자가 login 해 있는지를 알아봄
  • NSIS . . . . 6 matches
          * makensis 로 Script 를 컴파일한다. 그러면 makensis 는 스크립트를 분석하면서 포함해야 할 화일들을 하나로 묶어준다. 그리고 zip의 형식으로 압축해준다. (내부적으로 zip2exe 가 이용된다. 이건 zlib 사용됨.)
          * /CMDHELP - command 에 대한 기본적인 사용정보를 출력해준다.
         또는 Editplus 의 사용자도구그룹에 makensis 을 등록시켜서 사용하는 방법도 있겠다. (nsis 를 위한 간단한 ide 만들어서 써먹어보는중.. 이였지만. 엉엉.. 그래도 editplus 가 훨 편하긴 하다. --;)
          * 하나의 command 가 여러줄을 이용하는 경우 '' 를 사용한다.
         사용 예 : exec 로 regsvr32.exe 호출시 비동기 호출이 되어 뒤의 delete 문이 실행된다. 이를 방지하기 위한 방법으로 다음과 같이 한다.
  • ProjectCCNA/Chapter5 . . . . 6 matches
          * ip의 생성이유 : TCP/IP프로토콜을 사용하는 모든 장비를 구분하기 위해서
          * ip주소는 2진수 32자리로 되어있음 -> 약 42억 9천개 -> 현재 사용자를 고려하면 남은 ip주소가 얼마 없음
          * 네트워크를 나타낼 땐 호스트 부분을 0으로 표현. 그리고 각 클래스에서 표현 가능한것의 제일 작은 수와 제일 큰수는 사용불가.
          *호스트부분이 모두0은 네트워크, 1은 브로드캐스트 번호이므로 사용하지 않는다. -> 각 클래스에서 사용가능한 최대 호스트수는 순계산-2해줘야함.
          * 네트워크를 나눠 쓰지 않더라도, 디폴트 서브넷 마스크를 사용한다.
  • ProjectPrometheus/Journey . . . . 6 matches
         어제 마지막 고민이 지하철을 타고가면서 해결되었다. 그리고 오늘 와서 생각대로 적용하니 이후 Test들에서는 아무런 문제가 발생하지 않아서 안도의 한숨을 내쉰다. 시스템들이 Test를 통과하자, 가장 큰 문제로 발생된 것이 Test의 작성과 확인이었다. 책 4권과 사용자 3명.. 정말 머리에서 피시식 연기가 나는 느낌을 받는다. 그나마 Pair이기에 한명이 코드를 보면서 생각하고, 한명은 종이를 보면서 생각하면서 동기화를 시키니 다행이지, 혼자였다면 후유.. 문뜩 온라인 게임들이 굉장히 긴 시간동안 베타 테스트를 하는 것이 이해가 간다. --["상민"]
         상민쓰와 함께 ADO 를 이용한 부분에 대해 DB Mock Object 예제를 작성했다. 전에 상민이가 DB Layer 를 두지 않고, ADO Framework를 거의 치환하게끔 작성했다고 판단, 이번에는 내부적으로 ADO를 쓰건 가짜 데이터를 쓰건 신경쓰지 않는 방향으로 같이 작성하였다. ADO 는 기존에 ["1002"] 가 작업했던 프로그램에서 일부 사용한 소스를 고쳐썼다.
          * UserStory 와 사용자 시나리오를 혼용해서 쓴 것 같은데, UserStory Page 를 참조.
          * 지난번에 받았던 요구사항정의된 글들을 (그때 글들을 미리 스캔해두었었다.) 다시 보면서 다시 정리를 하였다. 어떠한 순서로 할까 하다가 일단 사용자의 기준으로, 사용자들이 이용하는 기능(Functional)과 퍼포먼스 관련 (Non-Functional) 부분으로 생각했고, 주로 Functional 한 부분을 기준으로 사용자 시나리오를 작성하면서 요구사항들을 정리하였다. 그러면서 지난번 Requirement 를 받을때 수동적 자세로 있었음을 후회했다. 5일이 지난뒤 정리하니까 이렇게 머리가 안돌아가나;
  • PyUnit . . . . 6 matches
         테스팅을 하기 위해 Python의 assert 구문을 사용한다. testcase가 실행될 때 assertion을 실행하면 AssertionError 가 일어나고, testing framework는 이 testcase를 'failure' 했다고 정의할 것이다. 'assert' 를 명시적으로 써놓지 않은 부분에서의 예외가 발생한 것들은 testing framework 에서는 'errors'로 간주한다.
         === 재사용하는 set-up code : 'fixtures' 만들기. ===
         종종, 많은 작은 test case들이 같은 fixture를 사용하게 될 것이다. 이러한 경우, 우리는 DefaultWidgetSizeTestCase 같은 많은 작은 one-method class 안에 SimpleWidgetTestCase를 서브클래싱하게 된다. 이건 시간낭비이고,.. --a PyUnit는 더 단순한 메커니즘을 제공한다.
         makeSuite 함수를 사용할때 testcase들은 cmp 함수를 사용하여 소트한 순서되로 실행된다.
         PyUnit test framework는 테스트를 수행하기 위해 'TestRunner' 클래스를 사용한다. 가장 일반적인 TestRunner는 TextTestRunner이다.
  • ScheduledWalk/창섭&상규 . . . . 6 matches
          * 사용자(User) -> 프로그램 사용자와 대응되는 객체
          * 모든것을 진행한다.(Execute) | 사용자(User), 판(Board), 바퀴벌레(Roach), 여정(Journey)
         진행자는 사용자에게 진행에 필요한 정보를 요청한다. 사용자는 판 크기, 바퀴벌레의 시작위치를 알려주고 여정을 만들어 준다. 진행자는 정보에 따라 판을 만들고, 바퀴벌레를 만든다. 그리고 나서 바퀴벌레에게 여정을 주며 판 위에 올라가서 판 위를 움직이도록 명령한다. 바퀴벌레는 여정을 참고하여 자취를 남기면서 판 위를 움직이고 여정이 끝나거나 판의 모든 곳에 자취가 남으면 움직이는것을 멈춘다. 바퀴벌레가 멈추면 진행자는 판을 사용자에게 보여준다.
  • SubVersion . . . . 6 matches
          * CVS와 매우 유사한 사용법. CVS 사용자라면 누구나 어려움없이 금방 배울 수 있습니다.
         오늘 처음 사용해보니 CVS보다 좀더 깔끔한 느낌이 이입니다. [tortoiseSVN]을 사용했는데 [CVS]보다 좀더 직관적이지 않나 싶습니다. 소스관리 툴을 처음 사용하는 사람이라면 [CVS]보다 [SubVersion]이 더 좋지 않을까 싶습니다. 다만 [tortoiseSVN]을 사용하니 체크아웃 할 때 보통 5-6번 정도 비밀번호를 쳐야 하네요;; diff, merge 툴을 따로 설정할 수 있습니다. - 이승한
  • TermProject/재니 . . . . 6 matches
         void menu1() // 1번 메뉴 : 사용자가 지정한 과목을 입력순에 따라 화면에 출력함
         void menu2() // 2번 메뉴 : 사용자가 지정한 과목의 성적순에 따라 화면에 출력함
          cin >> select; // 서브메뉴를 출력하고 사용자로부터 입력받음
         void sort(int i, int j) // 사용자의 선택에 따라 i, j 변수를 전달받아 정렬함
         void prt_all() // 3, 4번 메뉴를 선택했을 경우 공동으로 사용하는 출력 함수
          for (i = 0 ; i < 3 ; i++){ // 각 과목의 평균과 총 평균은 변수를 사용하지 않고
  • VMWare/OSImplementationTest . . . . 6 matches
         사용하면 역시 동일하게 gcc를 윈도우에서 컴파일 할 수 있습니다 그래도 저는 vc의
         그리고 링커를 vc6를 사용하고 싶었고 그래서 이를 사용할 수 있는 방법을 소개하려
         수행되도록 설계되었습니다. 부트섹터에서 이 빠른 x86에서 최신의 기능을 사용하는
         - 우리는 디스켓도 사용하지 않고 바로 컴파일해서 이미지로 뜬 후 VMWare로
         Partcopy.exe 툴을 사용하여 부팅 디스켓에 놓을 수도 있지만 번거롭습니다. 따라서 VMWare에서 직접 이를 디스켓 이미지로 로드하도록 합니다.
  • ZeroPageServer/AboutCracking . . . . 6 matches
          * 분석 : 세팅 과정에서 설치를 위한 wu-ftp 패키지 서비스를 한달간 제공하였는데, 설치 문제로 가장 자주 사용할 NeoCoin 이 걸려 든것 같음
          * 2003-02-08, 09 즈음에 squid 를 이용한 proxy 서비스를 제공했다는 것을 기억. spam 샘플 몇통중 해다 suqid 사용 계정 id가 있었다는 점 기억 -> squid 동작 이후 spam신고 접수 된 것으로 가정
          * '''증상 : 개인 개정에 기본 설정의 설치된 squid 2.4 stable tar 의 proxy 서비스를 최초로 사용한 후 얼마 지나지 않아, 알수 없는 메일 서버로(port 25) 데이터가 날아가는 mail rely 증상 보임 '''
          * 제가 위의 말을 정확하지 않게 썼습니다. 그리고, 동희씨의 말씀대로, ''소스로 설치했다면 모르겠네요.'' 에 해당 합니다. 상대의 smtp port 25으로 데이터가 전송되고 있다는 것이었습니다. 그럼 어디선가 이 서버의 squid 기본 세팅 포트로, relay 를 계속하고 있다는 의미도 되는것 같군요. 혹은, 8080이나, 80을 사용한다는 것인데 각각, resin 과 apache가 사용하고 있어서 잘 모르겠습니다. 제가 이런 분야의 지식이 부족해서요. --NeoCoin
          * 서버가 몇번 정전을 맞은 이후, squid 를 실질적으로 사용한 예는, 일요일 이다. spam이 뿌려진 정확한 날짜를 알면, 비교 할수 있지 않을까?
  • django . . . . 6 matches
          * html 이 있는 template 에 많은 것을 바라지 말자. 가능하면 view에서 데이터를 거의다 처리해서 template에 넘기는것이 좋다. template에서 받아온 데어터로 리스트와 맵 변수의 첨자(subscriber)로 사용하려고 했는데 안된다. 이러한 경우에는 view에서 데이터를 아예 가공해서 넘기는 것이 좋다.
          * pysqlite를 사용하면 아래 첫번째 튜토리얼 처럼 하면 된다.
          * mysql 은 사용자를 생성하고 settings.py 파일을 설정한다. 그리고 pysqlite와 다른 점은 DB 이름을 넣고 나서 mysql 들어가서 따로 DB를 만들어 줘야 한다. 그리고 사용자도 만들어 줘야 한다.
          * [http://www.mercurytide.com/knowledge/white-papers/django-full-text-search] : Model 의 Object 에 대한 함수들 사용방법
          * [http://www2.jeffcroft.com/2006/feb/25/django-templates-the-power-of-inheritance/] : Template HTML 파일 사용
  • html5/web-workers . . . . 6 matches
          * 처리할 내용이 많아지면 사용자는 페이지를 조작할 수 없음
          * 이 문제를 해결하기 위해 Web workers를 사용
          // 전역함수 postMessage 사용
         = 워커에서 사용가능한 변수, 메서드, 생성자 =
          * window, document사용 불가
          * onmessage(), postMessage(), onconnect()등 사용가능
  • vending machine . . . . 6 matches
         설계하고자 하는 자동 판매기에서 사용 가능한 동전은 50원, 100원, 500원 짜리 3가지이고, 커피 값은 150원이라고 가정한다. 이 자판기는 커피 값 150원 이상의 돈이 입력되면 무조건 커피를 출력하며, 커피 출력 후에 커피값 이하의 잔돈이 남을 경우 잔돈을 반환한다.
         설계하고자 하는 자동판매기의 경우 사용 가능한 동전이 50원짜리, 100원짜리, 500짜리 3가지라고 설정하였음으로 이 회로의 입력은 당연히 50원짜리 동전이 입력되는 경우, 100원짜리 동전이 입력되는 경우, 500원짜리 동전이 입력되는 경우가 있을 수 있다. 입력에 대한 경우의 수는 동전이 들어오지 않는 경우, 50원 짜리가 들어오는 경우, 100원짜리가 들어오는 경우, 500원짜리가 들어오는 경우의 4가지가 되어 입력변수는 2개가 필요하게 된다. 2개의 입력변수를 각각 X, Y 라 하고, 동전이 입력되지 않을 경우에는 XY=00이 되고, 50원짜리 동전이 입력되면 XY=01이 되고, 100원짜리 동전이 입력되면 XY=10이 되고, 500원짜리 동전이 입력되면 XY=11이 된다고 가정한다.
         커피값이 150원이고 사용하는 동전의 최대값이 500원이므로 거스름돈을 계산하기 위해서 상태는 0~450원까지를 상태 변수로 설계한다. 따라서 상태변수는 4개가 필요하게 된다. ABCD=0000일때는 현재 남아있는 돈이 0원인 상태이고, ABCD=0001 일때는 남아있는 돈이 50원인 상태, ABCD=0010 일때는 남아있는 돈이 100원인 상태, ABCD=0011 일때는 남아있는 돈이 150원인 상태, ... , ABCD=1001 일때는 남아있는 돈이 450원인 상태, 그리고 ABCD=1010 이후는 사용하지 않는 무정의 조건 상태(Don't care condition)로 처리한다. 또한 Filp-flop은 D Flip-flop을 사용하기로 한다.
         자동판매기의 출력변수로는 커피가 출력되는지의 여부를 나타내는 변수 C와 잔돈 반환을 나타내는 출력변수 E를 사용하기로 한다. 따라서 2개의 출력변수 C,E가 필요하다. CE=00 1)일 경우는 커피와 잔돈이 모두 출력되지 않는 상태이고, CE=01 일 경우는 커피는 출력되고 잔돈이 없는 상태, CE=10일 경우는 커피는 출력되고 잔돈이 50원인 경우, CE=11일 경우는 커피는 출력되고 잔돈이 100원인 상태를 가정한다.
  • 데블스캠프2009/월요일후기 . . . . 6 matches
          * '''강소현''' - 필요한 내용을 fire bug를 이용해서 찾아내고 수정해서 사용할 수 있다는 점이 좋았어요.
          * [김준석] - 단순하지만 있을건 있는 프로그램. Easy, Enjoy라는 개념이 어울린다. 프로그래머가 아닌 일반인(유치원생)도 이런 프로그램을 사용해봄으로서 나와 같은 프로그래머의 입장이 되어 쉽게(Easy) 즐길수(Enjoy) 있는 기회를 준것이다. 내가 1학년때 송기원교수님이 한 말이 떠오른다 "언젠가는 일반인도 쉽게 만들수 있는 프로그램 언어가 나올꺼다. 전화 프로그램 만들고 싶으면 사람하고 사람 그림 두개 따서 전화기 그림을 가운데 놓고 연결하면 이게 전화 프로그램이 되는. 그럼 너희들은 뭐 먹고 살래? 사람들이 머리만 조금 굴리면 알아서 딱딱 만드는 세상이 될텐데 아이디어랑 생각이 중요한거야." 딱, 이거 아닌가? 물론 프로그램 언어의 현상황에서 프로그래밍에 업을 달고 사는 사람에게 쉽고 즐긴다는 말은 저기 저 먼 안드메다에 있는 개념만큼 멀게 느껴지지만 마지막에 송지원학우님이 얘기해주신것처럼 프로그래밍이 단순히 어렵고 복잡한것을 뜻하는것만이 아니라 새로운 아이디어로 생각해 그 시각으로 바라보는것으로 개발자의 입장이되는 우리도 더 쉽고 재밌게 즐길수 있을것이다. 그렇지만 기본은 먹고 살아야지.
          * [김준석] - 과거 06년도 데블스 캠프때 서버 할당받아서 svn잠깐 써보고 그다음에 전혀 써보지않았던 svn... 다시쓰기가 난감 할정도는 아니었지만 까는거에서 에러나면 어떻게 하는거야? 뭐여튼 nForge로 할당받아서 프로젝트 하나하나 올리면 되겠는데 문제는 이게 제로페이지 공용이라서 과연 학생들이 학업중 팀프로젝트때도 쓸려나.. 사용법을 가르쳐주는것 만으로 충분하긴 한데.. Zeropage내의 프로젝트는 얼마 되지 않는데;; 외부프로젝트라도.. 몇개나 올라올지는 모르겠지만 일단봐야지. 한 4~5개만 나와도 엄청난 프로젝트 갯수를 채우는 거겠군.. 프로젝트 진행중 중요한건 여러명의 개발자가 사용한 프로그램이기에 주석과 구조 그리고 변수건 함수건간에 서로 알아보기 쉽게 암묵적인 규약이라도 있어야된다는거 하긴 혼자할때는 그런거 필요없지만 SVN을 통해 올리는 프로젝트는 그렇게 해야 참고하고 구경하러온 학우들에게 도움이 될테니까. 특별히 코드레이스는 엄청나게 신경쓰면서 열심히 해봤는데 마지막에 올릴때 그것의 미인증이 인터넷을 막는 바람에 못올린것에 전산센터는 좀 반성해야되! 그리고 아쉬운점은 코드레이스는 좀더 늦게하고 제로페이지에 참가한 학우들에게 알고리즘이나 객체, 구조 함수에대해서 좀더 알려주고 조금 더 생각할 문제를 풀었으면 재밌었을텐데.. 난 printf()만 나오는 그리는 문제에는 잼병이란 말이다! 그렇다고 머리를 잘쓰는건 아니지만. 뭐.. 그렇듯 코드로 짜는건 빠른 손가락만 움직이면 되지만 푸는건 머리라는 사실은 변함이 없다. 코드레이스때 특정함수를 쓰게해서 DBMS나 라이브러리 북을 찾아보는 연습하는것도 좋았을텐데... 뒤에서 원그리고 있는데 앞에서 로보코드하고있을때는 안습. 끝나고 포트2 강추.
          * '''박준호''' - svn이라는걸 해보고 팀플할때 사용할수 있을것 같아 매우 유용하게 쓸 수 있을것 같아서 좋은 시간이 되었던 것 같다. 다음부터 나도 사용할것이다.
  • 새싹교실/2013/록구록구/2회차 . . . . 6 matches
          * scanf 원리, 사용
          * 위키의 대략적인 사용
          * 간단한 wiki 사용
          * scanf의 원리와 사용
          * 제로페이지 wiki 대략적인 사용
          scanf와 #define에 대해서 배웠다, wiki가 무엇인지 또 어떻게 사용하는 것인지 알게 되었다
  • 정규표현식/스터디/문자집합으로찾기 . . . . 6 matches
         "문자집합"을 사용한다.
         문자집합은 메타문자 대괄호([])를 사용해 문자집합을 표현한다. 대괄호 안에 있는 문자는 모두 집합의 구성원이 되며, 집합에 속한 문자 가운데 하나가 일치한다. 집합에 속한 모든 문자가 모두 일치할 필요는 없다.
         == 문자집합 범위 사용하기(준석) ==
          * {{{다음과 같이 [] 는 리스트를 나열해주는 것으로 .과 같이 한글자만을 지원한다 여러개의 []리스트를 사용하고싶다면 '*'(와일드카드)를 붙이거나 범위를 지정해주는 {}를 사용하여 []* 이나 []{4,4}(4개 찾기)로 이용할수 있다.}}}
          * {{{또한 다음과 같이 [0-9] = [0123456789]와 같이 사용하며 문자 또한 지원한다. 축약법은 하이픈(-)을 붙이는 방법으로 [A-Z][a-z] 이방법은 아스키 코드 방식을 따르며 축약시킬 경우 [a-A]는 역순이므로 되지 않는다. 또한 리스트([])안에서는 또다른 리스트([])와 역슬래시(\), 하이픈(-)을 제외하고는 모두 일반 문자와 같이 인식하므로 특수문자 %&^&#*$ 를 단순히 리스트 안에 나열하는것으로 검색할수 있다 리스트 안에서 리스트([])를 검색하는 방법은 역슬래시를 붙여 이스케이프를 시켜야한다.}}}
  • 창섭/BitmapMasking . . . . 6 matches
          * 우리가 비트맵을 불러다 쓸때 늘 사각형 모양으로 불러다 쓴다. 하지만 불러다 쓰고 싶은 모양이 사각형이 아니지만 본의 아니게 배경색까지 따라 찍힌다. 이 때 사용한다.
         원본 그림에 흰색과 검은 색으로 그려진 그림(마스크)을 밑그림에 잘 연산시켜 순서를 잘 맞춰 그리면 원하는 그림이 나오는 것이다. 마스크는 밑의 두개중 아무거나 사용한다.
         === 마스크 1 사용 ===
          * 사용하는 마스크
         === 마스크 2 사용 ===
          * 사용하는 마스크
  • 2dInDirect3d/Chapter1 . . . . 5 matches
          5. 텍스쳐를 사용해 게임 이미지를 불러들인다.
          1. [IN] 유일한 인자인 SDKVersion에는 SDK의 버전을 넣어준다. 8.0 이렇게 집어넣는 것이 아니라 지정되어있는 매크로가 있다. 사용하는 방법은 단 한가지뿐이다.
          만들 수 있는 디바이스의 타입은 세 가지가 있다. (2번째 인자의 값으로 사용한다.)
          1. D3DDEVTYPE_HAL : 하드웨어에서 지원하는 기능을 사용한다.
          3. D3DDEVTYPE_SW : 하드웨어 가속을 전혀 사용하지 않고 소프트웨어적으로 에뮬레이션
  • 2thPCinCAUCSE . . . . 5 matches
          * 사용언어: C/C++ with Visual C++ 6.0
          * 휴대폰, 인터넷 사용 금지
          * 개인 디스켓, CD 등 휴대 금지. 디스켓은 나눠준 것만 사용.
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
          4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 팀의 컴퓨터에서 실행한다. 이점을 유의할 것. 즉, 자기 컴퓨터에만 있는 특수한 기능을 사용하게 되면, 채점 팀 컴퓨터에서는 안 돌아 갈 수 있음.
  • 2학기파이선스터디/ 튜플, 사전 . . . . 5 matches
         == 튜플을 사용하는 경우 ==
         3. apply 함수를 사용할 때
         4. 그 이외에 고정된 값을 표현하기 위하여 튜플을 사용한다.
          이런 구조를 사용하는 이유는 키에 의한 검색속도를 빨리하기 위함이다. < 해쉬 (hash) 용법 >
         globals()를 사용하면 전역 영역(모듈 영역)의 심볼 테이블(사전)을 얻는다.
  • 3rdPCinCAUCSE . . . . 5 matches
         사용언어: C/C++ with Visual C++ 6.0
         - 휴대폰, 인터넷 사용 금지
         - 개인 디스켓, CD 등 휴대 금지. 디스켓은 나눠준 것만 사용.
         1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
         4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 컴퓨터에서 실행한다. 즉, 자기 컴퓨터에만 있는 특수한 기능을 사용하게 되면, 채점 컴퓨터에서는 안 돌아 갈 수 있음.
  • AseParserByJhs . . . . 5 matches
          // 원래 STL 리스트로 전체 노드를 관리했는데 지금은 사용안함. 전체 노드 리스트는 이 모듈의 cpp 파일에 전역으로 선언.
          static void ModelAlloc (CHS_GObject* pO); // 쓰이지 않음. j_ase 모듈에 있는 aseAllocate2CHS_Model을 사용
          // 일반적인 ascii export plug in을 사용했을 경우
          aseGetTextureName (s, p); //모델t 구조체에 들어가는 텍스쳐 네임은 사용x
          //textureLink 에 들거나는 네임 사용
  • AwtVSSwing/영동 . . . . 5 matches
          * AWT는 사용하긴 쉽지만 한계가 있다. 롤오버 이미지를 사용하는 등 실제로 많이 쓰는 기능을 AWT로 구현하기 어려우며, 운영체제마다 버그가 생기기 때문에 사용하기 불편하다. Swing은 Top-Level의 컨테이너만을 운영체제의 자원을 사용할 뿐 그 하부에 있는 모든 것은 자바 코드에 의해 만드는 방식을 가진다. 발생하는 버그도 자바 가상머신의 범위 내에서 처리가 가능하다. 게다가 컴포넌트의 모양도 사용자의 입맛에 맞게 맞춰주는 것이 가능하다.
  • C++스터디_2005여름/학점계산프로그램 . . . . 5 matches
          - 우리가 같은 클래스에 속하는 객체를 여러개 생성하기를 원할 때, 서로 독립된 객체 변수들을 개별적으로 생성하는 것보다 객체들로 이루어진 배열을 생성하는 것이 더 바람직할 것이다. 지금까지 우리가 사용해온 일반적인 배열과 사용법이 같다.
          - 다른 클래스에 속하는 객체를 클래스 멤버로 사용한다.
         중앙대 컴공 학생 120명의 이번 학기 각 과목점수을 파일로부터 읽어들이고, 각 평점을 계산하고, 장학생명단을 발표하시오! 과목은 C, 국어와 문학, 경제와 사회, 선형대수학 이렇게 4과목으로 한다. 입력파일은 input.txt 이다. 객체 배열과 컨테인먼트을 사용하자.
         장학생은 10%로 하고, 순위별로 정렬한다. 평점 1.5 미만의 학생은 따로 분리되어 사용자에게 보여줄 수 있어야 한다.
  • CNight2011/고한종 . . . . 5 matches
          사용할땐 nickname만 써주면 된다.
          사용할때마다 struct name 라고 해야한다.
         사용법은 생각이 나질 않는다.. 사실 이때 졸려서 한귀로 듣고 거의 흘림..
         목록의 중간에 삽입,삭제가 그냥 배열에 비해 매우 편리하므로 자주 사용된다.
         즉, 프로그래머는 힘들고 사용자는 편하다는얘기...
  • ComputerNetworkClass/Exam2006_2 . . . . 5 matches
          2.2 MPEG 을 사용하면 그래프가 어떻게 변할까?
          2.4 play back 은 무엇이고 언제 어떻게 사용되나
          2.5 멀티미디어 서비스에서 TCP는 왜 잘 사용 안될까
          SLOWSTART 사용시기와 해당 기법의 사용이유에 대한 해설
  • CxImage 사용 . . . . 5 matches
         1. CxImage 폴더 복사
         2. Debug 에 CxImage.lib 복사
         6. link-> object/library modules 에 Debug/CxImages.lib
          m_pImage = new CxImage;
          m_pImage->Load(lpszPathName, CxImage::FindType(lpszPathName));
  • DevelopmentinWindows . . . . 5 matches
          * 표준 사용자 인터페이스 제공 (["DevelopmentinWindows/UI"])
          * 세부적인 것들을 모두 다룰 수 있지만 너무 복잡해서 사용하기 어렵다.
          * 윈도우즈 API 만큼 세부적인 것들을 모두 다룰 수는 없지만 윈도우즈 API 보다 사용하기 쉽다.
          * AppWizard, ClassWizard 등의 툴과의 통합으로 더욱 쉽게 사용할 수 있다.
          ||c||카운터로 사용되는 변수||
  • DiceRoller . . . . 5 matches
          * EXIT버튼 누르기 : Shift+Enter를 Roll로 사용하지 않았기 때문에 종료시 빠져나가는 루틴이 필요하다. 그래픽대조를 통해 Exit버튼을 누르자.
          * 프로그램을 키고 오래 사용하면 스타트/레디 부분이 실행되지 않는다.
          * 그래픽 대조루틴을 통한 카드의 자동사용
          * SHIFT+ENTER : 이상하게 그 창에서만 듣지 않는다.. 무언가 문제가 있는듯.. Direct Input를 사용해 볼까 고려중이다.
          2. SPY++를 조금 더 잘 사용할 수 있게 되었다.
  • DoubleBuffering . . . . 5 matches
          * 만약 새로 그려질 그림이 기존의 지워질 화면에 그려진다면, 화면을 보는 사용자는 지워진 순간을 느끼게 된다.(개념 예제 참고) 이런 공백의 순간을 없애기 위하여 새로 그려질 그림과 배경을 동시에 그리는 기법이다.
          A. 예1) 더블버퍼링 미사용
          * 예2) 더블버퍼링 사용
         ["zennith"] : 뜬금없는 소리이고, 고루한 이야기 입니다만, PCI 란 기술이 처음 소개되었을때 꽤 미래지향적인 기술로 각광받았던 것이 PCI bus mastering 이란 기술인데.. 무엇인고 하니, pci 채널로 연결되어있는 기기들끼리 서로의 메모리에 DMA 를 할 수 있었던 것이었죠. 대표적으로 이 기술이 사용된 예(라기보단 제가 알고있는 단 하나의 예)는 TV수신카드에서 사용되는 것이었는데요. TV 어플리케이션에서 TV 가 표시될 부분의 region 을 정해놓으면 TV 수신카드에서 그부분에 해당하는 비디오카드 메모리로 직접 쏴주는.. 그런 기술이었는데.. 더블버퍼링을 보니 갑자기 그 생각이 나는군요. 음.. 요즈음은 다들 agp 를 써서.. 저 pci bus mastering 이란 기술이 아직도 살아남아있는건지.. 잘 모르겠군요.
  • Gof/State . . . . 5 matches
         커넥션이 상태를 전환할 경우, TCPConnection 객체는 사용하고 있는 state 객체를 바꾼다. 예를 들어 커넥션이 established 에서 closed 로 바뀌는 경우 TCPConnection 은 현재의 TCPEstablished 인스턴스를 TCPClosed 인스턴스로 state 객체를 교체한다.
         대부분의 대중적인 상호작용적인 드로잉 프로그램들은 직접 조작하여 명령을 수행하는 'tool' 을 제공한다. 예를 들어, line-drawing tool 은 사용자가 클릭 & 드레그 함으로서 새 선을 그릴 수 있도록 해준다. selection tool 은 사용자가 도형을 선택할 수 있게 해준다. 보통 이러한 툴들의 palette (일종의 도구상자 패널)를 제공한다. 사용자는 이러한 행동을 'tool을 선택한 뒤 선택한 tool을 이용한다' 라고 생각한다. 하지만, 실제로는 editor 의 행위가 현재 선택한 tool로 전환되는 것이다. drawing tool 이 활성화 되었을 때 우리는 도형을 그리고 selection tool 이 활성화 되었을 때 도형을 선택할 수 있는 식이다. 우리는 현재 선택된 tool 에 따른 editor 의 행위를 전환시키는 부분에 대해 StatePattern 을 이용할 수 있다.
         툴-구체적 행위를 구현하는 서브클래스를 정의하는 곳에 대해 Tool 추상 클래스를 정의할 수 있다. drawing editor 는 currentTool 객체를 가지며, request를 이 객체에 위임시킨다. 사용자가 새 tool를 골랐을 때, drawing editor 는 행위를 전환해야 하므로 따라서 이 객체는 교체된다.
  • Gof/Strategy . . . . 5 matches
          * 각각의 알고리즘들은 상황에 따라 적절할 때가 존재한다. 클라이언트는 사용할지 안할지 모르는 알고리즘들까지 전부 필요하지 않다.
         Composition 은 Compositor 객체의 참조를 가진다. Composition 이 텍스트를 다시 형식화할때, Composition 은 Compositor 에게 해당 책임을 넘긴다. Composition의 클라이언트는 사용하려는 Compositor의 참조를 받음으로써 사용해야 할 Compositor을 구체화시킨다.
          * 당신은 알고리즘의 다양함을 필요로 한다. 예를 들어, 당신이 알고리즘을 정의하는 것은 사용메모리/수행시간에 대한 trade-off (메모리를 아끼기 위해 수행시간을 희생해야 하거나, 수행시간을 위해 메모리공간을 더 사용하는 것 등의 상관관계)이다. Strategy 는 이러한 다양한 알고리즘의 계층 클래스를 구현할때 이용될 수 있다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/김아영 . . . . 5 matches
         - 인수로 사용되는 수식이 평가된다.
         - 변수 자체의 값을 전달하는 것이 아니라 인수로 사용되는 변수에 대한 포인터를 전달하는 것이다.
         - 함수내에서 인수로 사용되는 변수의 값을 변경할 수 있다. (특정 상황에 따라)
         - 함수내에서 전달된 변수를 사용하기 위해서 간접(indirection) 연산자를 사용해야 한다.
  • HelpOnInstallation/SetGid . . . . 5 matches
         보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제한된 계정으로 실행하게 됩니다. 이러한 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러한 특별한 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
         이러한 것을 방지하기 위해서 [모니위키]가 특별한 파일을 생성하게 되는 몇몇 디렉토리에 대하여 그룹 아이디로 퍼미션을 가지게 할 수 있습니다. 이렇게 Setgid를 사용하도록 그룹 퍼미션을 주게되면 wiki.php에 의해 새롭게 만들어지는 모든 파일은 진짜 사용자의 그룹아이디와 같게 되며, 그룹 아이디가 가지는 퍼미션을 진짜 사용자도 누릴 수 있게되어 읽거나 고치거나 지울 수 있게 됩니다.
         Setgid 퍼미션을 작동시키려면 간단히 "`chmod 2777 ''dir''` 명령을 내리면 되는데, 모니위키가 여러 파일들을 만들게되는 디렉토리에 대해 이 명령을 내려주면 됩니다. 모니위키를 최초 설치하는 과정에서 setgid를 사용하려면 우선 모니위키 최상위 디렉토리를 먼저 `chmod 2777`을 해 줍니다. 아마 wiki.php가 들어있는 디렉토리가 될것입니다.
  • HelpOnPageCreation . . . . 5 matches
         || @''''''PAGE@ || 페이지 이름 (템플릿 페이지에 주로 유용하게 사용됨) ||
         || @''''''USERNAME@ || 사용자 이름 ||
         || @''''''USER@ || 사용자 이름 서명 "-- loginname" ||
         || @''''''SIG@ || 사용자 이름 서명 "-- loginname date time" ||
         || @''''''MAILTO@ || 사용자 메일 주소 ||
  • HelpOnPageDeletion . . . . 5 matches
         페이지 지우기를 사용할 수 있는 위키의 경우 {{{DeletePage}}} 액션을 통해 페이지를 지우실 수 있습니다. 페이지를 지운다는 것은 가장 최근의 편집 복사본이 지워진다는 것이며, 페이지의 모든 변경내역은 여전히 남아있게 됩니다.
         모니위키 1.1.3부터 지원하는 `revert`액션을 사용합니다. 단축키로 '''i'''를 누르면 변경내역을 보여주며 이때에 [[GetText(revert)]]라는 액션에 대한 링크가 나타납니다. `revert` 액션에 대한 링크가 나타나지 않으면 {{{?action=revert&rev=1.100}}}식으로 주소줄에 써넣은 후에 페이지를 불러오면 대화창이 뜨게 됩니다.
         복구 액션은 남용이 가능하므로 비밀번호로 제한이 걸린 `protected`액션이므로 위키에 따라서 일반 사용자가 사용하지 못할 수 있습니다.
         이러한 경우에는 일반 사용자가 복구하려면 위의 '''수동 복구'''를 참조하여 복구하시면 됩니다.
  • InsideCPU . . . . 5 matches
         음...여기까지만..귀찮아서 못 적겠다.. 보통 플로피의 0번 섹터를 write하기 위해 rawrite.exe란 프로그램을 쓴다. 플로피의 데이타를 얻기 위해 BIOS의 인터럽트루틴을 사용한다. 이를 위한 인터럽트는 INT 13h가 된다.
         으! 그냥 MOV DS,FFFFFH 하면 되지 왜 AX에 넣는 것이야. 지금 사용 FFFFFH란 메모리가 지금 프로세스가 참조할 수 있나
         바이오스로 하드와 플로피를 제어할 필요가 있다. 이는 부팅 과정에서 커널을 특정 메모리에 올리는 데 사용된다. 필이 사용 된다. MBR를 복구하는 데도 가끔 사용된다.
  • JUnit/Ecliipse . . . . 5 matches
         Eclipse 에서는 기본적으로 JUnit을 내장하고 있습니다. (참고로 저는 Eclipse 3.0 M9 버전을 사용하였습니다.)
         따라서 별도의 다운로드 및 인스톨 과정없이 보다 편하게 JUnit을 사용할 수 있는 강점이 있으며, 실제로 마우스의 클릭 몇번으로 대부분의 클래스 및 메서드를 생성해 주는 강력한 기능을 지원합니다.
         먼저 Eclipse 에서 JUnit 을 사용하기 위한 세팅법입니다.
         이것으로 Junit을 사용하기 위한 준비는 끝입니다.
         테스트를 하기위해 사용되는 메서드의 리스트는 아래와 같습니다.
  • Java Study2003/첫번째과제/곽세환 . . . . 5 matches
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
  • Linux . . . . 5 matches
         리눅스는 현재 컴퓨터의 커다란 흐름중의 하나이다. FSF에 의해서 지원을 받는 핵심적인 운영체제로 현재 기능적, 보안적 측면이 기존의 [Unix] 시스템에 버금갈 정도 발전하였고 [GNU]의 사상하에 만들어진 [GPL]을 따르기 때문에 무료로 사용이 가능하여 서버 운영체제로 많은 인기를 누리고 있다. 본디 리눅스라는 하는 것은 운영체제의 [Kernel] 명칭이며, 주로 접하게 되는 패키지 형태로 이루어진 배포판의 전체 구성을 리눅스라고 여기는 경우가 있으나 이는 리눅스의 광의적 정의라고 생각하면 될듯 싶다.
         리눅스와 비슷한 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [:FreeBSD BSD]계열이 있다. BSD계열중 가장 잘알려진 [http://www.kr.freebsd.org FreeBSD]의 경우 실제로 과거부터 hotmail.com, yahoo.com, cdrom.com 을 운영해온 네트워킹에 대한 안정성이 입증된 운영체제이다. 실제로 2.6커널의 도입이전에는 BSD의 네트워킹이 더욱 뛰어나다는 평가를 받았지만 일반적인 의견이었으나, 많은 구조적 변경을 통해서 리눅스는 현재 이런 점을 극복하고 BSD와 리눅스를 선택하는 것은 운영자의 기호일 뿐이라는 이야기를 한다. 최근에는 리눅스를 데스크탑의 용도로 까지 확장하려는 노력의 덕분에 로케일 설정관련 부분이 대폭 강화되었으며, 사용자 편의성을 고려한 WindowManager인 [Gnome], [KDE] 등의 프로그램이 대폭 강화되면서 low-level 유저라도 약간의 관심만 기울인다면 충분히 서버로써 쓸 만한 운영체제로 변모하였다.
         [http://www.debianusers.org 한국데비안사용자모임]
         [http://www.gentoo.or.kr 한국젠투사용자모임]
         [http://www.ubuntu.or.kr 한국우분투사용자모임]
  • Linux/배포판 . . . . 5 matches
         자, 그렇다면 의문을 해소해보자. 운영체제의 중심은 무엇인가? 운영체제라고하는 것은 결국 하드웨어와 사용자 사이를 이어주는 가교라고 생각하면 된다. 이런 영역을 '''kernel'''이라는 용어로 부른다. 이 kernel 에도 종류가 대단히 다양한데... 그중에 하나가 리눅스이다. 리눅스이외에도 Mach, BSD, Darwin, Hurd 등등등 우리가 생각하는 것 보다 훨씬더 다양하고 많은 커널들이 존재한다. (대략 Mach 커널이 좀 유명하다. 모듈 커널의 장점을 이야기 하면서 리눅스의 커널의 비효율성에 대한 평가자료로 많이 이용되었다. 지금은 리눅스도 대부분의 장치들을 모듈로 올리는 것이 가능하지만..) 윈도우의 경우 이 커널은 관리하는 회사가 오로지 마이크로소프트뿐이기 때문에 OS패키지를 라이센스라는 이름 아래에 단독으로 공급을 하지만 리눅스는 이와 달리 커널은 공개되어있고 어떤 묶으로 묶어서 팔거나 발표를 하는 것은 자유롭기에 다양한 배포판이 존재한다.
         사실상 리눅스의 다양한 프로그램들을 개인이 따로 관리한다는 것은 굉장히 어렵다. 패키지가 정적인 형태가 아니라 리눅스는 지속적인 엡데이트를 하는데, 통일된 방식으로 관리를 해준지 않으면 나중엔 어떤 프로그램을 어디에 깔았는지 조차 알기힘들어진다. (대략 도스시절 컴퓨터에 프로그램을 마구잡이로 까는 사람을 생각해보면 알듯.. -_-;) 이런 이유로 매키지 매니저라는 것을 사용하고 잇으며, 패키지 매니저는 상기와 같은 일들을 자동화된 방식으로 제공한다.''
         국내의 배포판은 대부분 레드햇의 패키지 방식인 RPM(Redhat Package Manager)를 채용한다. RPM의 경우 단일 패키지르 중심으로하는 경향이 강하고 의존성에 상당히 관대한 패키지 방식으로 알려져있다. ''(데비안유저인 관계로 잘모른다.)'' 알려진 바로는 느슨한 패키지 의존성때문에 처음에는 편하지만 나중에 엉켜있는 패키지를 관리하기가 좀 까다롭다는 의견도 많다. 레드햇 리눅스는 현재 공개방식으로 배포되지 않는다. 기업용 혹은 웍스테이션을 위한 돈주고 파는 버전만 존재한다. 대신에 레드햇사는 페도라라는 리눅스 배포판을 지원하고 있으며, 레드햇의 사이트를 통해서 배포가 이루어진다. 대부분의 패키지가 CD안에 통합되어 있으며, 대략 최신 패키지 들이 패키징되어있다. (050626 현재 페도라4가 얼마전에 발표되었다 4+1CD) 페도라 리눅스는 레드햇의 불안정판 정도라고 생각하면 되고, 실제로 최신의 패키지들로 묶어서 내놓고 잇다. 페도라에서 얻어진 피드백을 통해서 레드햇에 반영하고 이로부터 안정적인 리눅스 서버 OS를 발표한다. ''ps) 의존성? 리눅스의 각패키지는 각기 다른 프로젝트로 진행되어 만들어진 것들을 다시 사용하는 경우가 많다. 따라서 각기 독립적인 패키지 만으로는 프로그램이 실행이 안되어 경우가 있는제 이런 경우 의존성이 있다고 말한다.''
         GNU에 정신에 입각해서 만들어지는 배포판이다. 공식명식 GNU/Debian Linux 이다. 데비안의 이름은 배포자인 이안, 그의 부인 데보라 이름을 땃다고한다. 패키징은 과거 dselect를 이용하였고, 현재는 aptitude 라는 툴을 기반으로 한다. ''(관리정보를 보관하기 때문에 서로 호환성을 갖지는 않는다고 한다.)'' 데비안의 안정판은 대단히 배포사이의 공백기가 긴 것으로 유명하다. 혹자들은 메인테이너들이 굉장히 신중한 사람들이라고 평가하기도 한다. ''(01년도 Woody를 시작으로 05년 Sarge 사이에 딱 하나의 안정판이 있을뿐이다. 대략 2년에 한번꼴이다.)'' 대신에 Stable, Testing, Unstable, Experimental 이라는 단계적 개념으로 패키지를 제공해서 사용자의 선택의 폭을 제공한다. 그렇지만 Unstable 이라고해도 페도라만큼 최신의 패키지들로 묶이지는 않고 어느정도 성숙이 되면 패키지로 포함되는 경우가 다반사이다. 안정적 서버운영을 위해서는 안정판을 설치하는 경우가 많고, 일반용도로는 Testing, Unstable을 설치한다. (www.kldp.org 가 현재 데비안 Sarge-stable 로 운영중이다.) 패키지방식은 의존성에 대한 철저한 관리가 특징이다. 데비안이 유명한 것은 바로 이 패키지 관리의 엄격함 때문이기도 하다. 그렇지만 최신의 기술로 만들어진 소프트를 원하는 이들에겐 그다지 좋은 덕목은 아니다. 네트워크를 통해서 인스톨하기 때문에 base-system 이상의 것들은 네트웍이 연결된 상태에서 설치가 가능하다. 대신에 모든 배포판은 CD1장으로 구성된다. (net-install의 경우 대략 100MB 정도) 현재는 데비안의 엄격한 패키징 방식에서 좀더 유연한 자식격 배포판인 우분투이 나오면서 상당한 인기를 끌고 있다. 우분투는 데스크탑용 OS를 표방하고 발표되어으며, 실제로 CD로 엔터만 누르면서 완전설치가 가능하다.
         리눅스의 대부분의 배포판은 각 CPU에 맞는 커널에서 운영이 되는 바이너리 형태를 중심으로 하고 소스파일은 곁다리로 다루는 경우가 대부분이다. 그러나 젠투 리눅스는 다른 배포판과는 좀 다르게 소스를 직접 컴파일해서 패키지를 관리한다. 이때 사용되는 매키지 관리자의 이름이 Portage 라는 것이다. ''(대략 리눅스 관련 사이트에서 emerge, ebuild, USE 라는 것들이 나오면 gentoo 이다.)'' 본디 Gentoo의 배포자는 BSD의 포트를 기반으로한 패키징 방식이 너무 마음에 들어서 리눅스도 이런 배포 시스템을 만들자는 취지하에서 배포를 시작했다고 한다. ''(덕분에 각기 다른 CPU 관련된 바이너리를 저장소에 보관하지 않기 때문에 미러 서버 입장에서는 좋을듯)'' 덕분에 Gentoo의 경우 실제 설치시에 커널 컴파일을 하면서 커널 모듈 설정을 해야하며, 세부적인 설정이 완전히 자동적으로 이루어 지지않는다. 또한 변변한 인스톨러도 없다. (Project가 진행중이긴하다) 리눅스를 좀 다루어본 사람들이 설치하고 쓴다.또 설치 시간이 컴파일 하는 시간과 같이 걸리기 때문에 엄청난 설치시간으로도 유명하다.
  • MFC/DynamicLinkLibrary . . . . 5 matches
         종전의 방식처럼 정적으로 링크를 하게되면 윈도우 프로그램의 특성상 굉장히 메모리를 많이 차지하는 프로그램이 동시에 실행이 되면서 쓸데없이 동일한 코드영역이 중복적으로 메모리 공간안에 차지하게 되는 현상이 발생하였다. 여기서 착안하여 생겨난 것이 DLL이다. 이는 실제 프로그램의 수행부분을 한개로 두고서 여러개의 프로그램에서 그 부분을 공유하여 사용하는 것이다.
          프로그램과 DLL이 메모리 안으로 로드되자마자 사용되는 함수들에 대한 링크가 성립된다.
          프로그램이 먼저실행되데 DLL은 프로그램의 요청이 발생한 시점에서 메모리에 로드된다. 그때가 되서야 프로그램은 DLL로부터 함수의 어드레스를 얻고 그것을 사용해서 함수를 호출한다.
         DLL은 함수에 대한 코드만을 저장는데 국한되는 것이 아니다. 비트맵, 폰트와 같은 리소스들을 DLL 안에 위치시킬 수도 있다. 예를 들자면 카드놀이에 사용되는 Cards.dll 에서 카드들에 대한 비트맵 이미지와 그 것들을 다루는데 필요한 함수들을 포함하고 있다.
          독립적 실행은 불가능하지만 main함수의 변형된 형태를 포함한다. 이 곳에서는 dll이 사용되기 전에 초기화되는 내용들이 포함되게 된다. DLL초기 로드시 운영체제가 호출한다.
  • MFCStudy_2001/MMTimer . . . . 5 matches
         == 기본 사용법 ==
         사용이 끝난 타이머를 죽이는 부분입니다.[[BR]]
         이상이 기본 사용법이었습니다.
          pDlg를 통해서 원래 클래스의 모든 메소드와 변수를 사용할 수 있습니다.
          * CALLBACK 함수를 사용할때의 주의점. (in MSDN)[[BR]]
  • Omok . . . . 5 matches
          * 제가 작년에 썼던 방법입니다. 터보씨의 그래픽 함수중에서는 clrscr() 함수만 사용합니다.
          * 화면을 움직일때 쓴 방법은 방향키 말고 그냥 영어 자판중 'I','J','L',','을 사용하여 움직이고 찍을때는 'k' 를 사용했습니다.
          * 이러면 아스키 코드 사용하지 않고도 짤 수 있습니다. 전 아스키 코드 쓰는거랑 터보시에서 그래픽 하는거 싫어서 이렇게 해봤었습니다. 뭐 다른 방법으로 짜고 싶으면 짜시고요. - 상협
          * 개인적으로 이걸 해봤는데.. 뭐 Visual 적인거 좋아하시면 이렇게 하시고.. 그냥 오목의 알고리즘만 생각하시면 굳이 그래픽을 사용안하셔도 좋을듯..^^
  • ProgrammingPartyAfterwords . . . . 5 matches
         모두 리눅스에서 개발을 했고, MOA팀은 C+ViImproved 를 사용했고, ZP#1, ZP#2는 모두 Java+["Eclipse"]를 사용했다.
         시간이 좀 흘렀을 때, 희록님의 생각은 '우리 모두 이 프로그램을 짜는데서 왜 알고리즘이 사용되어야 하는지 모르고 있다. 이는 문제를 제대로 파악하지 못했다는 것을 의미한다' 라는 생각을 하였다. 그 때, 누군가가 입력 형식에 관해서 Mentor에게 물었다. 하지만 아쉽게도 입력형식에 대해서 명확한 답을 얻을 수는 없었지만, 몇가지 새로운 사실들을 알수 있었다. 하지만 진행은 계속 지지부진하게 되었다. 희록님은 다시 그것을 깨고자 "CRC카드를 한번 사용해서 문제를 다시 한번 생각해보자"라고 하였다. 우리는 CRC카드를 작성하기 시작하였고, 우리가 CRC카드를 이용해서 시뮬레이션을 실행해보고서는 요구사항을 분석하는데는 크게 도움이 되지 않았지만, 우리가 프로그래밍시에 어떤 객체들이 필요할지와 그 속성들에 대해서는 약간 명확해졌다.
         그 때쯤인가, ZP#2팀의 Mentor이신 김창준님이 '슬쩍' 오셔서 Design이 잘 떠오르지 않는다면, 비슷한 아키텍쳐를 가진 문제를 풀어서 그 아키텍쳐를 재사용해 보라는 말씀을 하셨다. 하지만, 우리 팀원중 아무도 그것에 대해선 이후에 언급하지 않았다.(묵살되었다. --) 그러다가 우선 요구분석에 대한 이해를 높이고, 디자인을 상세화하기 위해서(디자인->코딩->디자인->코딩 단계를 반복하였다.) 코딩을 시작하기로 하였다. 상협군과 인수군은 매직펜을 맡았고, 희록군은 키보드를 맡았다. 희록군은 Unix환경에서의 Eclipse의 작업 문제로 인해 심각한 스트레스를 받고 있었다. 그러다가 컴퓨터를 한번 옮겼으나 그 스트레스를 줄이진 못했다. 아무래도 공동으로 프로그래밍 하는거에 익숙하지가 않아서 좀 서투룬 감이 있었다. 그래도 해야 겠다는 생각을 하고 문제의 요구 사항을 분석하고 어떻게 설계를 해야할지 의논했다.
  • ProjectPrometheus/CookBook . . . . 5 matches
         === Python 에서의 한글 사용 ===
         matcher.group(1); // 사용 (교체하거나 여러가지 할수 있음)
         물리적인 모래시계가 없을 경우 사용할만한 모래시계 소프트웨어
          <init-param user="DB 사용자 ID"/>
          <init-param password="DB 사용자 Password"/>
  • Python/DataBase . . . . 5 matches
         == 사용법 ==
          * 아래 소스는 파이썬 DB API Spec 2.0 에 있는 것들을 사용해서 작성함(즉 다른 모듈에서도 동일하게 사용가능)
         unix_socket - TCP를 사용할 unix소켓의 위치
         client_flag - integer, 필요할 경우 사용하기 위한 flag (0)
  • RAD . . . . 5 matches
         전통적인 소프트웨어 개발 방법(waterfall 모델)은 오랜 기간의 분석, 설계, 프로그래밍 그리고 테스트 과정을 되풀이한 후 최종 단계에서 비로소 사용자가 요구한 시스템을 완성할 수 있었다. 그러나 이와 같은 방법으로는 소프트웨어의 생명주기가 점차 짧아지는 등의 급변하는 프로그램 시장과 사용자의 요구를 수용하기가 매우 어렵다. 따라서 소프트웨어의 생산성을 향상시키면서 동시에 개발 기간과 비용을 단축시킬 수 있는 방법이 요구되었고, 이러한 연구의 결과로 RAD와 같은 개념이 등장하게 되었다.
         RAD는 우수한 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용을 투자하더라도 보다 나은 품질의 소프트웨어를 개발할 수 있는 소프트웨어 개발 과정을 말한다. 이러한 RAD 방식의 개발은 응용 프로그램의 전체 개발 과정을 하나로 통합하여 기존의 반복적이고 점진적인 소프트웨어 개발 과정은 그대로 수용하면서도, 개발 과정 초기에 사용자에게 실행 가능한 기본적인 프로토타입을 제시하여 사용자의 요구를 훨씬 더 명확하게 수용하여 차후에 일어날 수 있는 많은 문제를 줄이고, 설계 과정을 그대로 개발에 재사용함으로써 전체적인 개발 기간의 단축을 꾀하는 것을 목적으로 한다.
  • RubyLanguage/Container . . . . 5 matches
          * [] 를 사용해 참조 위치의 객체에 접근할 수 있다.
         }}}[[FootNote('''p 메서드''' : 객체를 디버그에 적합한 형식으로 문자열화하여 출력하는 메서드로 주로 디버그 출력을 위해 사용. 디버그, 학습, ShortCoding 이외에는 사용하지 않는 것이 좋다.)]]
          * 음의 첨자 사용시 뒤에서부터 역순으로 요소를 가리킨다.
          * 길이를 포함한 첨자나 범위 첨자를 사용한 경우, 우변에 복수 개의 값을 취할 수 있다.(line 5, 6)
  • StaticInitializer . . . . 5 matches
         Static Initializer 는 이러한 값들을 미리 셋팅하기 위해 사용하며 다음과 같은 문법을 이용한다.
         문제는 StaticInitializer 부분에 대해서 상속 클래스에서 치환을 시킬 수 없다는 점이다. 이는 꽤 심각한 문제를 발생하는데, 특히 Test 를 작성하는중 MockObject 등의 방법을 사용할 때 StaticInitializer 로 된 코드를 치환시킬 수 없기 때문이다. 저 안에 의존성을 가지는 다른 객체를 생성한다고 한다면 그 객체를 Mock 으로 치환하는 등의 일을 하곤 하는데 StaticInitialzer 는 아에 해당 클래스가 인스턴스화 될때 바로 실행이 되어버리기 때문에 치환할 수 없다.
         StaticInitialzer 에서 값만 치환하는 것으로 (상속클래스에서 해당 Class Variable 의 값을 바꿔주는식으로) 해결되는 문제라면 크게 어렵진 않다. 하지만, 만일 저 부분에 DB 나 File 등(또는 File 을 사용하는 Logger 등) 외부 자원을 이용하는 클래스를 초기화하게 된다면 사태는 더욱더 심각해진다. 처음부터 해당 Class 가 DB, File 등 큰 자원에 대해 의존성을 가지게 되는 것이다. 게다가 이는 상속을 하여 해당 부분을 Mock 으로 치환하려고 해도 StaticInitializer 가 먼저 실행되어버리므로 '치환'이 불가능해져버린다.
         그 외에 Static 의 경우, 그 사용 가능 Focus가 Global 해지기 때문에 이 또한 Bad Smell 이 될 가능성이 농후하다. 개인적으로는 가급적이면 Static Variable 을 쓰지 않는 습관을 들이려고 한다. --[1002]
          Mock 생성자에서 값이 교체되어도 StaticInitializer 자체가 실행된다는 점에는 변함이 없습니다. 만일 StaticInitializer 에서 외부 자원들을 사용한다면, Side-Effect 들을 피하기 어려운 경우가 많다는 것을 강조하고 싶었습니다. --[1002]
  • TCP/IP . . . . 5 matches
         쉽게 말해서 데이터를 파일에 쓰고 읽는 것처럼 소켓을 사용해서 데이터를 쓰고 읽을 수 있단 소리다.
          * Interactive Shell이 지원되는 언어(e.g. Python, Ruby, ...)를 사용하면 TCP/IP의 개념을 아주 빠른 시간 안에 배울 수 있음. (Python은 내부적으로 C 라이브러리를 그대로 사용) 또, 현재 개발된/개발중인 시스템을 테스트 하는 데에도 매우 편리함. 예컨대, 리코에서는 XMLRPC 서버 접속을 파이썬 쉘에서 하고(import xmlrpc 한 다음에...), 거기서 사용자 등록 등의 서비스를 직접 사용하게 한다.
  • Unicode . . . . 5 matches
         현재 대부분의 리눅스 어플리 케이션은 [UTF-8]을 기반으로해서 개발되고 있거나 포팅중이다. 새로 만들어지는 모든 패키지는 모두 UTF-8을 사용한다. 그놈, KDE 와같은 윈도우 매니저들도 기존의 EUC를 기반으로한 문자셋을 지원하지만, 표면적으로만 지원할뿐 내부적으로는 UTF-8로 변환하여서 처리함. 결국 UTF-8로의 문자셋 변경은 기간의 문제이지 대세이다.
         인터넷 브라우저 내부에서 이것이 사용되며,
         그런점도 있고, 문자열로 뭘 하기에 UTF-7 보다는 편리해서 가장 보편적으로 사용됩니다.
         한 글자당 8bit 씩 할당하지만 사용은 7bit 만 합니다.
         utf utf -8의 목적이 애매하네요. 원래 목적이 ascii문자만 있는 경우 사용하지 않는 첫번째 바이트를 없애기 위한게 아닙니다. 개발 과정에서 ascii 문자와 호환을 위해 그 영역을 그대로 변환이 되도록 한 것입니다. 목적 자체는 ucs 캐릭터가 2 또는 4바이트로 이루어져 있는데 이걸 스트링으로 쭉 이어놓고 보면 중간에 널(0x00)이 들어갈 수 있습니다. 예를 들어 '가'는 0xac00인데 이 널 바이트 때문에 스트링 처리가 곤란하게 됩니다. 그래서 널 바이트를 없앨 수 있는 인코딩 기법을 개발하게 된 거죠. 07/13 23:22:49 코멘트 지우기
  • UserPreferences . . . . 5 matches
         사용자 등록 페이지 입니다. SeeAlso ["로그인하기"]
         '''사용자 등록하기'''
         * /!\ 웹상의 비밀번호는 안전하지 않습니다. 비밀번호는 평소에 쓰지 않는 것으로 사용해 주시길 바랍니다.
         '''[[GetText(logout)]]'''을 누르면 쿠키가 지워지고, '''[[Gettext(Login)]]'''을 하시면 쿠키가 사용되며, 다른 곳에서도 같은 설정을 유지하며 사용하실 수 있습니다. 공공의 PC에서 [필명]이 도용되는 것을 막기 위해서 '''[[GetText(Logout)]]'''을 이용해 주시기 바랍니다.
  • Vaccine . . . . 5 matches
         자주 사용하는 백신들. 어떤 백신을 사용하시는지... -_-a
         || 백신 사용 안함 || 1 ||
         도스 시절부터 v3을 사용해왔고 바이러스 검출 능력이 좋고 속도가 빠르다고 생각되어 계속 사용하고 있습니다. 구하기 쉽다는 장점도 있는것 같네요.; -- 재선
  • VoiceChat . . . . 5 matches
         다자간에 프로젝트를 진행할때 같은 장소에서 작업을 하기 힘든 경우 음성채팅을 이용하면 그나마 숨통을 틀 수 있다. MSN 메신저를 비롯하여 음성채팅을 지원하는 여러 메신저의 경우 1:1 만 지원한다. 아래의 프로그램을 사용하면 다자간 음성채팅을 무료로 할 수 있다.
          * KaZaA 의 개발진이 만들었다고 한다. 전 세계적으로 많이 쓰이고 한글화도 되어있다. PeerToPeer 기술을 사용했다. [http://web.skype.com/home.ko.html 홈페이지]
          * 80 포트를 사용해서 회사같은곳에서도 사용할 수 있음.
         나중에 텀 프로젝트를 진행할때 메신저보다는 이것을 사용하면 좋을듯.
  • VonNeumannAirport . . . . 5 matches
          * 자료형 배경 지식의 미숙 (처음 STL미사용 접근, 중반부터 STL사용으로 자료형의 일관성문제)
          * 중간에 창준이형이 "너희는 C++ 로 프로그래밍을 하면서 STL를 안사용하네?" 라고 했을때, 그냥 막연하게 Java 에서의 Collection Class 정도로만 STL을 생각하고, 사용을 잘 안했다. 그러다가 중반부로 들어서면서 Vector를 이용하게 되었는데, 처음 한두번 이용한 Vector 가 후반으로 가면서 전체의 디자인을 뒤집었다; (물론 거기에는 디미터 법칙을 지키지 않은 소스도 한몫했지만 -_-;) 그걸 떠나서라도 Vector를 써 나가면서 백터 비교 assert 문 등도 만들어 놓고 하는 식으로 점차 이용하다보니 상당히 편리했다. 그러다가 ["Refactoring"] Time 때 서로 다른 자료형 (앞에서 array 로 썼던 것들) 에 대해 vector 로 통일을 하다 보니 시간이 비교적 꽤 지연이 되었다.
          * ["Refactoring"] Bad Smell 을 제대로 맡지 못함 - 간과하기 쉽지만 중요한 것중 하나로 naming이 있다. 주석을 다는 중간에 느낀점이 있다면, naming 에 대해서 소홀히 했다란 느낌이 들었다. 그리고 주석을 달아가면서 이미 구식이 되어버린 예전의 테스트들 (로직이 많이 바뀌면서 테스트들이 많이 깨져나갔다) 를 보면 디미터 법칙이라던가 일관된 자료형의 사용 (InformationHiding) 의 문제가 있었음을 느낀다.
  • WOWAddOn/2011년프로젝트/초성퀴즈 . . . . 5 matches
         WOW의 애드온은 Lua나 Ruby와 같은 스크립트 언어를 사용하는것으로 알고있다.
         또한 Widget과 LuaFunction의 사용정보를 볼수 있다.
         아직 WOW addon에 대해서 모르는것도 있고. WOW에서 사용하는 몇몇 자료구조가 특이한건 알겠다. 젠장. Item에 뭔 부가정보가 그렇게 많이 붙어!! 여튼 그것에 대해서는 한번 다시 다루어보아야겠다.
         예제로 들은게 뭐냐하면 도시에서만 2. 거래 채널을 사용할수 있는데 밖에 나갔을때 이 채널이 활성화되있지만. CHAT_MSG_CHANNEL 이벤트를 더이상 서버에서 보내지 않는다는것이다.
         그래서 OnUpdate를 Frame에 등록하고 사용해보았다.
  • XMLStudy_2002/Encoding . . . . 5 matches
          *단순한 텍스트 형태의 XML문서를 다양한 언어로 작성하기위해 각 언어에서 사용하는 인코딩 방식을 사용한다.
         === 일본어 사용하기 ===
          *XML에서 유니코드를 사용하면 한 문서 내에서 어떤 부분은 한국어로 또 어떤 부분은 일본어로 작성하는게 가능하다.
         === XML에서의 unicode 사용에 대한 사이트 ===
  • ZeroPageServer/old . . . . 5 matches
          DNS서버가 꼭 외부에 있어야 하나요? 그냥 제로페이지서버에 설치해서 사용하면 안되나요? --[곽세환]
          - 상관없을것 같습니다. zeropage 에서 직접 DNS 서버 돌리면 subdomain.domain.org 같은 식으로 서브도메인도 사용할 수 있을것 같구요. - [임인택]
          * man과 동일한 역할의 info 를 설치해 두었습니다. 사용해 보세요.
          - 음 SSH 때문에 [CVS] 도.. 사용이 불가능하군요...-_-;;; - [임인택]
          - 개강할 임새가 되니까.. 슬슬 네트웍이 말썽을 부리려는 기미를 보이기 시작하는건가요.. 작년 ObjectProgramming 숙제하면서 피씨실 사용할때 일정시각만 되면 네트워크가 먹통이 되어가지구 적잖이 난감했었는데... - [임인택]
  • ZeroPageServer/set2002_815 . . . . 5 matches
          * 이번 세팅의 목적은 '''좀더 편한 패키지 관리, 안정된 환경'''을 위해서이다. 그래서 상민이의 물망에 오른 것이 Zentoo Linux와 Debian, FreeBSD 정도 인데, 기본적으로 Linux를 택해서, FreeBSD와 Zentoo Linux와 Debian 비교에서 사용자 층과 편이성면에서 Debian이 더 우수하게 느껴져 선택하였다.
          * [[HTML( <STRIKE> 사용자 기본 ls세팅 컬러로 </STRIKE> )]]
          * [[HTML( <STRIKE> JSP 권한 설정 </STRIKE> )]] : 사용자 woodpage에게만 줌
          * {{{~cpp /home/jspVirtualPath}}} 에 해당 아이디의 symbolic 링크를 걸면 됨. resin.conf에서 path-mapping 사용
          * [[HTML( <STRIKE> Servlet 사용 정책 마련 해야 함</STRIKE> )]]
  • html5/form . . . . 5 matches
          * 폼 태그는 HTML 문서에서 사용자 입력을 위해 제공되는 양식 태그
          * HTML5 의 Canvas를 지원하지 않는 IE8 이전 버전을 위해 ExplorerCanvas(http://code.google.com/p/explorercanvas/) 라이브러리가 제공되듯이 HTML5 확장 폼을 지원하지 않는 브라우저의 경우 WebForm2 라이브러리를 사용할만 하다
          * form 으로 전송되고, 값을 사용자가 조정 불 가능하다.
          * 용량과 임계치가 존재하는 상황에서 현재 사용량을 보여주는 UI
          * min, max 로 최소값과 최대값(임계치)를 설정하며 현재 사용량의 정도(낮음, 높음, 적정)을 나타내는 low, high, optimum 속성이 제공된다.
  • 네이버지식in . . . . 5 matches
         가장 먼저 떠오른 건, 이용자 수였다. 이용자 수가 엄청나게 많다는 점이 지식in서비스를 활발하게 해 주었다. 이용자 수가 많아진 이유는 여러 가지가 있겠지만, 텔레비전 광고까지 낼 정도로 홍보를 해서 그렇지 않을까? 반면 위키 홍보는 몇 번인가 하고는 그 뒤로는 사람들이 알아서 쓰기를 바랬던 것으로 보인다. 알려지지 않은 서비스가 아무리 많은 장점이 있다 한들 사람들이 알아야 쓸테니까, 위키 사용이 활발하지 않은 건 일단 덜 알려져서라고 생각한다.
         다음으로는 익숙하지 않은 형식이었다. 아예 인터넷을 처음 만나는 사람이라면 익숙한 형식이 있지도 않겠다만, 많은 사람들이 글을 쓸 때는 게시판에 제목과 이름과 내용정도가 달린 게 글 형식이고, 글 제목이 목록으로 한 페이지에 나오는 형식이 익숙한 형식일 것이다. 때문에 전부 '''내용'''처럼 생긴 위키를 보고는 일단 다르게 생긱 형식에 바로 적응하지는 못할 것이다. 쓰기 어렵지는 않겠지만 말이다. 때문에 위키가 엄청난 장점을 가져서 적응하는 노력을 들이고 싶을 만 하지 않다면 굳이 사용하려 하지 않을 것이다. -[Leonardong]
          - 글쎄요. 저는 약간 다른관점으로 보게 됩니다. 네이버 지식인의 성공은 각종 매체의 힘과, 기존에 사용해오던 '게시판'이라는 형식의 '익숙함'에 더해 '보상과 동기부여'가 아닐까 싶습니다.
          우선 '위키'라는 개념과 형식은 사람들에게 생소하고 낯설게 다가오게 마련입니다. 기존 '게시판' 에 익숙해져있던 사람들에게 위키의 사용은 하나의 모험으로 작용하겠죠. 사람들에게 있어서 낯설음,생소함등은 곧 거부감으로 직결되기 쉽습니다. 이러한 거부감을 없애려면 굉장한 노력과 시간과 자본이 투자되어야 하겠죠. MS 사의 윈도우즈가 성공한 요인이 뛰어난 기능과 능력이 아닌 '익숙함'이라는 것은 왠만큼 소프트웨어를 알고있는 사람들 사이에서는 상식이죠.
         KIN 은 Knowledge In Naver 의 약자가 아니라 지식In -> Knowledge In -> kin 으로 사용하는 것이지요.
  • 데블스캠프2010/둘째날/후기 . . . . 5 matches
          * 새싹 때 배웠던 클래스를 처음으로 써봤어요. 처음엔 층을 프라이빗으로 해서 사용했는데 엘리베이터를 2개 만들 때 순위권을 노리는 매의 눈을 장착하고 퍼블릭으로 바꿨던거가 아쉬웠어요. 가까운 엘리베이터 비교하는데 어쩔 수가 없더라구요...다음에는 좀 더 개선해서 엘리베이터 클래스에 2개의 층을 저장하도록 개선해보는것도 좋을것 같아요 - [백주협]
          * 그냥 사용하더 엘리베이터가 이런 알고리즘이 있었구나 하는 생각이 들었습니다. - [김상호]
          * 자료구조 프로젝트로 SDL을 사용해서 게임 수정을 해봤는데, 또 SDL을 보게 될 줄이야.. SDL 시간이었지만, 느낀건 역시 IDE는 잘 선택해야 한다는 것... 이클립스, 넷빈즈, 비쥬얼 스튜디오 등 많은 사람들이 사용하는 IDE끼리도 같은 소스를 충돌나게 하는걸 보면서 참 황당했다-_-;; - [박성현]
          * 개인적으로는 직접 게임의 코드를 짜는 모습을 보거나 라이브러리 함수를 사용하는 것을 좀 더 많이 볼 수 있었으면 좋지 않았을까 하는 아쉬움이 컸습니다. 그래도 이런 식으로 외부 라이브러리를 받아서 VS의 설정을 하고, 개발환경을 갖추는 것도 하나의 큰 공부가 되지 않았나 싶습니다. 그리고 소스코드 자체도 하나씩 뜯어보면 알아보기 쉬운 디자인으로 되어 있어서 조금 더 공부를 할 동기가 될 수 있지 않을까 싶습니다. - [서민관]
  • 데블스캠프2012/넷째날/후기 . . . . 5 matches
          * [안혁준] - 역시 알고리즘 문제는 만만히 다룰 대상이 아니군요. 따로 스택을 사용하지 않고 원래 존재하는 스택을 이용하는 방법은 생각해보지 않았는데 그리 복잡하지 않은 부분에서 쓸만도 하군요.
          * [김태진] - C#으로 남상형이 GUI를 뚝딱뚝딱 만들던걸 구경하던 기억이 나는데, 그걸 이정도로 쉽게 구현할 수 있다는게 참 놀라웠습니다. ..사실 제 OS 특성상 많이 사용할거같지는 않지만, 아무튼 처음 배워보는건 재미있었어요. + 지원이누나, 직장 일하시는데도 불구하고 시간내주셔서 감사해요~^^
          * [서민관] - 이번 데블스캠프에 fundamental한 내용이 적다고 형진 선배가 얘기를 하셨는데 이번 시간이 그런 fundamental한 부분에 대한 요구를 좀 충족시켜준 시간이 아닌가 싶습니다. 다만 개인적으로 아쉬운 점은 1학년들이 C 언어 사용에 그렇게까지 익숙하지 않은지 파일 입출력 함수들의 사용이 그렇게 익숙하지 않았다는 점이었습니다. 분명 익혀두면 2학기에 도움이 될 기술이라고 생각하는 만큼 좀 아쉽긴 하네요. 그래도 아마 2학기 되면 인터넷에서 찾아가면서 하겠지만.
          *[안혁준] - 파일 입출력은 사실 이렇게 하는 경우는 이제는 거희 없지만, 알아두는게 좋은 내용이었습니다. 나중에 다른 언어들의 파일 입출력을 이해하는데 큰도움이 되거든요. 리틀 엔디안과 빅 엔디안의 차이라던가 사용문법의 차이같은것이 있지만 사실 모두 C의 출력을 예쁘게 만들어논거에 지나지 않으니까요. 새내기 분들은 함수를 다외우지는 못하더라도 "아! 파일 입출력은 어떤어떤 방식이 있구나"정도는 숙지하는게 좋을 껍니다. 어찌보면 어려운 내용을 잘 이끌어갔다고 봅니다.
  • 데블스캠프2012/첫째날/후기 . . . . 5 matches
          * 첫 날이라 그래도 쉬운 내용을 한다고 했는데 새내기들이 어떻게 받아들였을지 궁금하네요. 하긴 저도 1학년 때 뭔 소리를 하나 했지만 -ㅅ-;;; 그래도 struct를 사용해서 많이 만들어 본 것 같아 좋았습니다. UI는 뭐랄까.. Microsoft Expression은 한번도 안 써 봤는데 그런게 있다는 것을 알 수 있어 좋았습니다. 페챠쿠챠에서는 서로가 어떤 것을 좋아하는지나 어떠한 곳에서 살았는지에 대해서 재미있게 알 수 있는 것 같아 좋았습니다. 아 베이스 가르쳐 달라고 하신 분,, 나중에 학회실로 오세요-.. 미천하지만 어느 정도 가르쳐는 줄 수 있.........
          * qt에 비해 wpf가 조금 쉬울거라는 느낌이 드는군요. 그렇더라도, UI를 다른 툴을 이용해 사용하는건 아직 익숙하지 못하다보니.. 뭐, 잠깐 졸긴했지만 이런걸 할 수 있구나를 알 수 있어 좋았네요.
          * 늦게 와서 C는 듣지 못하고 UI 프로그래밍부터 참여 했습니다. C로 UI를 만들 수 있는 툴을 배웠는데, 오늘 실습해본 툴은 C#툴이고 사양이 높은 툴인것 같아서 저사양의 다른 툴을 찾아보고 사용할 수 있을 것 같습니다. 내일 웹서버관련된 세미나를 진행하는것 같은데 늦지않고 일찍 와서 유익한 시간이 됬으면 좋겠습니다.
          * 첫째 날 데블스 캠프는 정말 재미있었습니다. 우선 C 수업 중에 배우지 않은 문자열 함수와 구조체에 대해 배웠습니다. 또 수업 중에 배운 함수형 포인터를 실제로 사용해(qsort.... 잊지않겠다) 볼 수 있었습니다. 또 GUI를 위해 Microsoft Expression을 사용하게 됬는데, 이런 프로그램도 있었구나! 하는 생각이 들었습니다. GUI에서 QT Creator라는 것이 있다는 것도 오늘 처음 알게 되었습니다. 데블스 캠프를 통해 많은 것을 배울 수 있었습니다.
  • 데블스캠프2013/셋째날/후기 . . . . 5 matches
          * 사실 자바를 약~간 깨작거렸지만 다른 사람들이 GUI를 사용하는 프로그램을 만드는 것을 보고 어떻게 하는 것인지 굉장히 궁금하였는데 이번 기회에 알게 되어서 너무나도 기뻤습니다 :D - [조영준]
          * net beans를 써봐서 인지 window 빌더에 그다지 거부감은 없던것같습니다. 다만, 이클립스내에서 사용할 수 있다는 점에서 좋은것같습니다. 이때까지 net beans랑 이클립스를 혼용해서 사용해왔었는데 좋은 플러그인을 직접적으로 알게되어서 좋았습니다.(window 빌더의 존재는 알았지만 사용해보기에 너무 귀찮아서 이때까지 사용할 기회를 못가졌었는데 가지게 되서 좋았습니다.) -[김윤환]
  • 부드러운위키만들기 . . . . 5 matches
          저같은 경우 위키에 친숙해지게 된 계기가 1학년때 상민이형, 석천이형이 이끌어준 프로젝트를 위키상에서 하다가 친숙해졌습니다. 분명 친해지는데는 시간이 좀 걸렸습니다.(한 3~4달 정도) 한번 친해지니깐, 휴가 나와서도 맨날 가봅니다. -_- 1학년 2학기때쯤에 윗 학번이 프로젝트를 하나 저렇게 이끌어 주면서 자연스럽게 위키를 사용하게 하는것도 괜찮을거라 생각합니다. 그리고 보면 제로위키 페이지중에 공개/비공개 설정을 하게 만든다면 구지 개인위키를 따로 돌리지 않고 제로위키안에 자신만의 개인위키를 만들 수 있고 그렇게 하면 자신의 개인 위키에 자주 오다 보면 접근성도 높아 지지 않을까하는 생각을 해봅니다. - 남상협
          제친구가 처음으로 위키를 접하게 되었을때 첫 느낌으로 딱딱하다는 느낌을 받았다고 하더군요. 어떤사람들은 이곳 위키에서 사람들이 이야기 하는것을 보면 무서워 보인다는 이야기도 하고요. 문제는 이런 사람들이 대부분의 사람들이 비슷하게 느낀다는 것입니다. 대부분의 사람들이 위키에 적응하지 못하는 이유도 이런게 아닐까요?? 좀더 부드럽고 사용자에게 쉽게 다가갈 수 있는 위키의 방향은 없건가요? - [이승한]
          도구로서의 위키에 대해 익숙하지 않아서일겁니다. 처음 접하는 이들에게 위키위키라는 매체는 문화라기보다는 단지 사용하기 어려운 도구에 가깝게 느껴질 것입니다(실제로는 무척 사용하기 쉬운 도구임에도 불구하고 말이죠). 딱딱한 느낌을 받는 것은 이곳에서 주로 다루는 내용이 컴퓨터 공학과 관련된 전공지식 위주가 아니어서일까 생각합니다. [임인택]은 이번위키설명회때 [짝위키]를 해보는 것을 제안합니다. 한 사람이 위키를 자유자재로 항해하며 페이지를 수정하면(PairProgramming으로 치면 드라이버가 되겠죠), 나머지 한사람은 드라이버가 위키를 어떻게 사용하는지 살펴보고 드라이버가 행하는 행위에 대해서 질문(일종의 옵저버)하며 위키에 대한 감을 익혀갑니다. PairProgramming 과 마찬가지로 일정한 시간간격을 두고 드라이버와 옵저버의 역할을 바꿉니다. - [임인택]
  • 새싹교실/2013/록구록구/4회차 . . . . 5 matches
          * 저번 주차 과제를 전부 for 문을 사용해 다시 풀어보기
         수업시간에 내가 printf를 사용할 때 for문을 사용하는 친구들을 봤었는데 직접 사용해보니 뿌듯했고 while문보다 보기 편하고 더 간편했다.:)
         나도 이제 수업시간에 printf대신 for문을 사용해야겠다.
  • 서지혜 . . . . 5 matches
          * "그냥"이라는 단어의 사용을 자제합시다.
          * 신선한 동네 API사용
          * irb처럼 수식을 입력하면 계산값을 돌려주는 cmd 계산기. java와 ruby로 각각 만들다가 요즘은 java만 사용중이다.
          * 그러나 위의 두 방법으로는 '3-2-1' 식을 평가할 수가 없었다(0이 아니라 2가 나옴). 멘붕을 겪고 연산자가 -이면 바로 뒤의 숫자를 음수로 만들고 -연산자는 +로 변환. 이라는 방법을 사용했다.
          * 디버거를 사용할 수 없는 환경을 난생 처음 만남. print문과 로그만으로 디버깅을 할 수 있다는 것을 깨달았다. 정보 로그, 에러 로그를 분리해서 에러로그만 보면 편하다. 버그가 의심되는 부분에 printf문을 삽입해서 값의 변화를 추적하는 것도 효과적이다(달리 할수 있는 방법이 없다..). 오늘 보게된 [http://wiki.kldp.org/wiki.php/HowToBeAProgrammer#s-3.1.1 HowToBeAProgrammer]에 이 내용이 올라와있다!! 이럴수가 난 삽질쟁이가 아니었음. 기쁘다.
  • 이승한/PHP . . . . 5 matches
          * htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->"
          * explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
          * <? 와 ?>로 되어있다. (ASP는 <% %>를 사용하여 타이핑하기 불편하다.)
          === 변수의 종류와 사용 ===
          * 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
  • 정모/2003.1.15 . . . . 5 matches
          * 위키가 어렵다 -> 위키는 처음 접근 장벽이 높은거 같습니다. 우리 01들이 02들에게 그걸 낮춰주지 못한게 실수인거 같습니다. 우리 01들도 처음에는 잘 사용안하다가, 위키를 사용하는 프로젝트를 함으로써 위키를 적극적으로 사용하게 되었는데, 02들을 대상으로 하는 프로젝트중 데블스 캠프 말고는 제대로 위키를 사용하게끔 도와준 프로젝트가 없었던거 같군요. 그나마 지금 활동하는 02들은 위키를 사용한다는 점이 위안이 됩니다. 03학번부턴 이걸 유의해야겠죠.
  • 정모/2012.4.30 . . . . 5 matches
          CS망, 인터넷 사용에는 PS망을 사용합니다. 반면에 LTE의 경우는 인터넷 사용시에
          PS망을 이용하고 통화시에는 현재 3G용으로 구축된 CS망을 사용하고 있습니다.
          * 사용을 하고 나서 뒷정리는 좀 하고 갑시다.
  • 정모/2012.5.14 . . . . 5 matches
          * 5만원 빚 청산, 10만원 호스팅, 10만원 잡지(월간 마소 예정) 사용 예정입니다.
          * 지원 신청(책 등)은 해당하는 주 정모 페이지에서만 받습니다.!!(위키를 사용합시다.)
          * 조금 늦어서 중간부터 들었지만 OMS 재미있게 들었습니다. 키보드 할 때 들어와서 키보드에 대한 이야기인가 했더니 한글에 대한 발표였네요. 사실 저는 Windows를 항상 주로 사용해왔기 때문에 한글 사용 관련하여 크게 불편함을 느낀 적은 없었는데 이번 OMS를 들으며 다양한 언어를 지원하기 위해 고려해야하는 점에 대해 생각해보게 됐습니다. PC실 관리는 사용하는 사람들이 불편할 때 학회실로 오게 하는 것이 좋다고 생각합니다. 그게 관리하는 쪽에서도, PC실 이용하는 쪽에서도 편한 방법이죠. - [김수경]
  • 정모/2012.8.29 . . . . 5 matches
          * 2학기 사용계획 [http://zeropage.org/accounts/62922 홈페이지] 참고.
          * ZP에서 Trello를 사용하고 있습니다. 하단에 아이디를 적어주시면 추가해 드립니다.
          * 학회실에 있는 서버를 밀고 새로 설치하였습니다. GUI도 있으니 와서 사용하고, 계정도 추가해서 외부에서 사용해보세요.
          * 정모에서도 잠깐 이야기한 것처럼 ZeroPage에서 운영하는 서버 및 각종 장치와 도메인 네임, 이에 필요한 설정과 소프트웨어, 그리고 그와 관련한 이슈를 다루는 공간이 Trello에 있는 게 좋을 것 같습니다. 게시판이나 위키에 비해 ZeroPage 웹사이트가 비정상 동작할 때도 사용할 수 있고, 전체 상황이 한 눈에 파악되면서 카드 별로 상태 관리가 간편하며, 모바일(iOS, Android)에서 notification push를 받을 수 있기 때문에 실시간 커뮤니케이션과 이슈 추적 및 관리에 유리합니다.
  • 제로위키이용의어려움 . . . . 5 matches
         어렵다는 것은 위키의 사용이 어려운것이 아니라, 위키를 공동체가 사용할때의 생기는 예절과 규칙에 새로운 사용자가 적응하면서 느끼는 어려움일 것입니다. 계속 이렇게 가면, 우리가 다른 나라의 말과 문화를 배우는 것에 비견될수 있지 않을까요?
         그래서, 현 ZeroWiki 쓰기를 막아 버리고, 기존 사용자들과 새로운 사용자들과 새로운 위키에서 작업하는 것도 좋을것이라는 생각이 들었습니다. NeoCoin은 그냥 삭제를 생각했는데, [1002]는 처음에는 그냥 모든 Contents 를 앞으로 한두달간 막아 버리고, 새로운 규칙들이 생기면 기존 contents 를 녹여가는 것을 생각했습니다. 그리고 이야기 중에서 현 ZeroWiki 를 SisterWiki 로 연결한 새로운 위키도 괜찮다는 생각이 들었습니다.
  • 한자공/시즌1 . . . . 5 matches
          * [https://github.com/ZeroPage/zp13-javastudy github]를 사용하고 있습니다.
          * github를 사용하기 시작하였습니다. 주소는 위에.
          * get,set을 통해 변수에 접근하는 연습을 하고, 추가적으로 패키지를 직접 사용해 보았습니다. 생성자는 덤.
          * abstract, interface의 사용 방법에 대해 이야기를 나누고 사용 목적을 나름대로 토의를 해 보았습니다.
  • 황현/Objective-P . . . . 5 matches
          * 즉, Objective-P와 순수 PHP 코드를 혼용해 사용할 수 있다! (Just like we can mix up ObjC and pure C!)
         다만, @implementation만 사용하면 @interface가 외로워하니까, 인스턴스 변수의 선언에는 @interface를 사용하도록 하고, 메소드 선언 및 정의에 @implementation을 사용한다.
         // 클래스 사용
  • 2학기파이선스터디/클라이언트 . . . . 4 matches
          * Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
          * UserList? : ChatMain? 클래스의 사용자 List에 접속한 사용자 ID를 보여주는 기능을 한다.
  • 5인용C++스터디/더블버퍼링 . . . . 4 matches
         더블 버퍼링은 이미지를 화면에 바로 그리는 것이 아니라, 메모리(버퍼)에 먼저 그리고 화면에 나중에 그리는 방법이다. 더블 버퍼링은 화면의 깜빡임을 줄이고, 자연스러운 애니메이션을 위해서 많이 사용된다.
         그렇다면 더블 버퍼링을 과연 언제 어떻게 사용해야 할까? 더블 버퍼링의 용도는 꼭 화면 깜박임을 제거하는데만 있는 것은 아니다. 내부 버퍼에서 틈틈이 작업을 할 수 있으므로 아이들(Idle) 시간을 활용하기 위해서 사용할 수도 있고 내부 버퍼를 외부 버퍼보다 더 크게 만들어 스크롤에 활용할 수도 있다.
         문자열은 바깥쪽에 회색 테두리를 가지도록 했으며 보기 편하도록 큼직한 폰트를 사용했다. 비트맵 위에서 글자가 움직이지만 깜박임은 전혀 없으며 아주 부드럽게 스크롤되는 것을 볼 수 있다. 만약 이런 화면을 더블 버퍼링으로 처리하지 않는다면 배경 비트맵과 그림이 계속 반복적으로 화면에 나타나기 때문에 깜박임이 심해지고 갱 화면으로서 가치가 떨어질 것이다.
  • 5인용C++스터디/비트맵 . . . . 4 matches
         비트맵은 펜이나 브러시와 같은 GDI객체이다. --> 사용하려면 DC(디바이스 컨텍스트)에서 비트뱁을 선택해서 출력하면 된다.
         비트맵을 사용하는 방법은 펜이나 브러시와 비슷하다. 하지만 한 가지 분명한 차이점은 비트맵은 출력할 DC에 직접 비트맵을 선택하지 않고
         사용한다.
         즉 복잡한 그림을 출력해야 할 경우는 미리 그려진 비트맵을 사용하는 것이다.
  • ACE . . . . 4 matches
         ADAPTIVE Communication Environment. 플랫폼 독립적인 네트워킹 프레임워크. [Java]가 VirtualMachine 을 사용하여 플랫폼 독립적인 프로그래밍을 가능하게 하는 것 처럼 플랫폼에 상관없이 안정적이면서도 고성능의 네트워크 프로그래밍을 할 수 있도록 도와주는 프레임워크이다.
         우리가 많이 사용하는 버클리 소켓 API 를 사용한다 하더라도, 이기종간 프로그래밍을 하기는 어렵다. 이는 플랫폼간 이식성이 결여되어있고 약간의 차이가 있기 때문에 이식성 높고 안정적인 프로그래밍을 하는데 많은 어려움을 주기 때문이다. 또한 이식에 성공한다 하더라도 이전의 성능을 완전하게 보장받을 수도 없다. 또한 이식을 고려하지 않고 단순하게 소켓 API 만을 사용한다하더라도, 개발자가 조심하지 않는 이상 소켓 API 는 개발중에 문제점을 일으킬 확률이 높다. 이는 소켓 API 가 개발중에 일어날수 있는 문제점에 대한 방지를 보장하지 않기 때문이다. 이러한 문제점을 해결하기 위해 수년간 개발되어온 프레임워크가 [ACE] 이다. [임인택]은 간단한 서버를 작성할때 조차도 [Java]를 많이 선호하였는데, [ACE] 를 알게되면서는 [ACE] 로 서버를 작성해 보고 싶다는 생각을 하였다.
  • ACM_ICPC/2013년스터디 . . . . 4 matches
          * 각자 문제를 풀어오고 설명, 설명들은 문제는 다음 시간까지 개인적으로 풀어올 것.(Dovelet 사용)
          * Shortest Path : DAG(directed acyclic graphs)로 바꾼 후 Source에서부터 dist(v) = min{dist(v) + l(u,v)}사용
          * 풀이 - 삼차원 테이블을 사용한 DP문제, d(bar,unit,width)는 bar번째의 bar를 사용하면서, unit의 위치에 그 bar의 폭이 width일 때의 경우이다. 따라서 가능한 모든 바코드의 수를 구하는 것은 d(bar,unit,0 ~ width)를 전부 더해주면 된다.
  • APlusProject/ENG . . . . 4 matches
         === 사용자 메뉴얼 ===
         단, 사용하는 OS가 윈도우즈2000이나 XP professional이어야 함.
         '모든 사용자에게 동일한 폴더 공유 권한을 지정(권장)'의 체크를 비활성화
         Upload:APP_Manual_0605.zip --설치와 사용자 메뉴얼 입니다.
  • AcceleratedC++/Chapter5 . . . . 4 matches
          * 여태까지 vector랑 string 갖고 잘 놀았다. 이제 이것들을 넘어서는 것을 살펴볼 것이다. 그러면서 라이브러리 사용법에 대해 더 깊게 이해하게 될것이다. 라이브러리는 자료구조?함수만을 제공해주는 것이 아니다. 튼튼한 아키텍쳐도 반영해준다. 마치 vector의 사용법을 알게 되면, 다른것도 쉽게 배울수 있는것처럼...
          * 인수曰 : STL을 사용할때에는 반복자를 이용하는 것이 표준이라 한다.
          * ++i : 그냥 쓰면 된다. 각 컨테이너마다 구현은 다를테지만, 놀라울 정도의 추상화로 사용자들로 하여금 모르고 써도 되게 만들었다. 반복자를 하나씩 증가시키는 것이다.
  • AcceleratedC++/Chapter7 . . . . 4 matches
         || '''Key''' || 요소의 검색을 위해서 사용되는 검색어. 한개의 요소를 다른 요소와 구분하는 역할을 한다. 키는 요소의 변경시에 변경되지 않는 값이다. 이에 반하여 vector의 인덱스는 요소의 제거와 추가시 인덱스가 변화한다. 참조)DB의 WikiPedia:Primary_key 를 알아보자. ||
          * Visual C++ 6.0 에서 소스를 컴파일 할때 책에 나온대로 (using namespace std를 사용하지 않고 위와 같이 사용하는 것들의 이름공간만 지정할 경우) map<string, int>::const_iterator 이렇게 치면 using std::map; 이렇게 미리 이름공간을 선언 했음에도 불구하고 에러가 뜬다. 6.0에서 제대로 인식을 못하는것 같다. 위와 같이 std::map<string, int>::const_iterator 이런식으로 이름 공간을 명시하거나 using namespace std; 라고 선언 하던지 해야 한다.
          * Visual C++에서 map을 사용할때 warning이 많이 뜬다면 [http://zeropage.org/wiki/STL_2fmap] 이 페이지를 참고.
  • AppletVSApplication/상욱 . . . . 4 matches
         안에서 동적으로 사용자의 입력에 반응하거나 실시간으로 변화하는 다양한 자바 프로그램들은 모두 애플릿이며 자바로 만들어진 웹 브라우저인 핫
         서 실행하게 됩니다. 이렇게 자바 애플릿을 HTML 페이지에 삽입하기 위해서는 <APPLET> 태그를 사용해야 합니다.
          따라서, 자바 클래스는 하나의 패널 컴포넌트가 가지는 모든 기능을 그대로 사용가능하다는 것입니다. 물론, 자바 애플리케이션은 자바 가상머신
          - 애플릿과 애플리케이션이 사용하는 윈도우는 약간의 차이가 있습니다.
  • AppletVSApplication/영동 . . . . 4 matches
          * 웹 브라우저에서 실행되는 작은 프로그램을 애플릿이라 한다. 웹에서 클라이언트 측의 프로그래밍을 지원하는 강력한 툴로 사용된다.
          * 애플릿은 로컬 디스크를 사용할 수 없다. 함부로 내 컴퓨터나 다른 컴퓨터에서 정보를 전송할 수 없다는 뜻이며, 디지털 서명을 인정하면 로컬 디스크를 이용할 수 있다.
          * 잘못된 코드로 시스템의 다른 부분이 영향을 받지 않는다. 자바 언어와 애플릿 구조에서 갖고 있는 보안성 때문이다. 이런 점 때문에 회사 내부에서만 사용하는 소위 인트라넷 클라이언트/서버 시스템에 자바가 널리 사용되고 있다.
  • AttachmentMacro . . . . 4 matches
         == 간단한 사용법 ==
         /!\ 1.1.3에서 제대로 안됩니다. 버전 1.1.3.1을 받아서 사용하시기 바랍니다.
         == GUI를 사용하는 경우 ==
         모니위키 1.1.3부터 제대로 지원하게 된 WikiWyg GUI를 사용하면 좀 더 쉽게 파일을 업로드 하실 수 있습니다.
  • Chapter II - Real-Time Systems Concepts . . . . 4 matches
         예를 들어 High Priority를 가진 Task가 선점형 수행을 하며 다른 Task 보다 많은 자원을 사용할 수 있을 때를 말한는것 같다.
         === Real Time System 의 사용 범위 ===
         작은 시스템에서는 시스템의 효율성을 위해 보단 간편하고 일반적인 디자인을 사용한다고 한다. 실제로 어플리케이션이 작동하는 부분을 Background System이라고 하며 ISR (interrupt service rountines) 라고 불리우는 인터럽트 부분을 Foreground system이라고 한다.
         변화를 가져오므로 리얼타임에서는 사용되지 않는다.
  • ComponentObjectModel . . . . 4 matches
         90년대 마이크로소프트가 내놓은 가장 핵심적인 기술로 차후 ActiveX 를 이루는 기반기술이 된다. COM은 언어가 아니라 객체지향을 지향하는 바이너리를 만들어 내는 표준을 지정해놓은 것이다. 따라서 어떤 언어이던지 COM 표준에 부합하는 바이너리 형태를 생성할 수 있다면 그 언어로 작성한 바이너리는 언어 독립적으로 COM을 지워하는 곳에서 컴포넌트로서 사용이 가능하다. 고질적으로 진입장벽이 업청나게 높은 기술로 유명하지만... -_-; .NET 이 나오면서 어떻게 쓰이게 될런지는 미지수가 되어버린 기술이다. Vista 가 나오면 완전히 legacy 로 취급되게 될 것인지... -_-;; 이제 MFC는 사장의 길로 걸어가는 것 같고... 당장이야 워낙에 기반이 이 기술이다보니 어쩔 수 없겠지만 .net 사용이 궤도에 오르면 아마도 COM 도 머지않아 그렇게 되지 않을까 싶다.
         RCW를 구현하고 있는 .Net 하에서는 COM 객체는 아마도 제한적으로 호환성의 측면에서 사용될 것이다. 또한 .NET 객체들은 아마도 COM callable wrapper를 호출하는 것 때문에 COM 객체들안에서 사용될 것이다. 덧붙여서 COM+가 제공하는 일부분의 서비스들(transaction, queued components)은 여전히 .NET 응용프로그램에서도 중요한 부분이다.
  • C언어정복/3월30일-숙제 . . . . 4 matches
         1. 인치(inch) 단위를 센티미터 단위로 변환하는 프로그램을 사용자에게 입력을 받고, 계산된 값을 출력하라. (1in = 2.54cm)
         2. printf() 함수를 한 번만 사용하여 다음과 같이 4줄에 걸쳐서 표현되는 문자열을 출력하라.
         3. for문을 사용하여 다음과 같이 3줄을 출력하라. (앞에 행 번호도 출력)
         5. if문 하나와 for문 하나씩만을 사용하여 2단부터 9단까지의 구구단을 출력하시오.
  • Debugging . . . . 4 matches
          * 프로그램을 실행할때 디버깅 모드로 컴파일하여 디버거 기능을 포함시켜서 사용하면서 오류에 관한 각종 정보를 수집
         = 디버깅 소프트웨어를 사용한 디버깅 =
         || Step Out || shift+F11 || Step Into 로 함수안에 들어갔다가 나오고 싶을때 사용 ||
         || Run to Return(Step Out) || F7 || 어떤 함수안에 들어갔다가 바로 그 함수를 나오고 싶을때 사용 ||
  • DelegationPattern . . . . 4 matches
         DelegationPattern을 쓸 때 중요한 점은, DelegationPattern을 사용하는 클래스의 클라이언트는 그 클래스가 Delegation을 쓰는지 안쓰는지 몰라야 한다는 것이다. 즉, 우리에게 있어 DelegationPattern이 사용된 클래스는 여느 클래스와 동일하게 인식되고 사용되어져야 한다. 게을러서 남에게 자신의 숙제를 위임하는 학생은 절대 남들에게 그 사실을 노출해선 안된다.
         전에 SE 수업중에 컴포넌트모델의 필요성을 이야기하던중 '상속으로의 재사용이 어렵기 때문에' 이야기를 하셨는데, 왜 대안 중 하나로서의 [Delegation] 에 대한 언급이 전혀 없으셨는지 모르겠다. Delegation 만 잘 이해해도 준 컴포넌트 스타일의 모듈화 프로그래밍을 잘 진행할 수 있고, 사람들 간의 작업분담도 잘 이끌어 낼 수 있을건데.. --[1002]
  • DirectDraw . . . . 4 matches
          * DDSCL_ALLOWMODEX : ModeX를 사용 가능하게 해준다는데. 알수 없다.(예전에 쓰던 화면 모드라고 한다.)
          * DDSCL_ALLOWREBOOT : Ctrl+Alt+Del을 사용 가능하게
          * DDSCL_EXCLUSIVE : 독점 모드를 사용 가능하게, DDSCL_FULLSCREEN 과 함께 쓰인다.
         ddsd.dwFlags = DDSD_CAPS|DDSD_BACKBUFFERCOUNT; // 구조체와 backbuffercount를 사용가능
  • EightQueenProblem . . . . 4 matches
         이 문제를 프로그래밍을 해서 풀어보세요. 어느 언어를 사용하든 상관없습니다. 가장 자신있는 언어를 사용하세요. 그리고, 맞는 결과를 구했다면 다음 칸을 채워주세요. 비교적 간단한 문제이지만, 문제를 해결해 나가는 중에 자신의 실력과 사용하는 도구, 프로그래밍 과정, 디자인 방법 등에 대해 생각해 볼 기회가 될 것입니다. 모든 후배들에게 꼭 한번 시도해 볼 것을 권합니다. 이 경험에 대해 스스로 분석해 보고, 남들과 경험을 공유하고 차이를 살피고(AnalyzeMary), 또 토론하면서 '''아주 많은 것을 배우게 될 것입니다.''' 어쩌면 이제까지의 프로그래밍 경험에서보다 더 많은 것을 말이죠. 사실 이 실험의 진정한 가치는 문제 자체보다 이 문제가 가능케 하는 자기 관찰/반성과, 타인과의 논의에 있는 것인지도 모릅니다. --김창준
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
  • ExtremeBear/Plan . . . . 4 matches
         '''도구사용'''
          * ["Java"] 에 ["Eclipse"] 사용
          Eclipse에서 간단한 프로젝트 사용과 ["JUnit"],CVS 사용하기 시범
  • FreeMind . . . . 4 matches
         인터페이스가 매우 간단해서 사용방법을 익히는 과정 필요없다. 설치 즉시 마인드 맵을 작성 할 수 있다.
         이제 많은 사람들이 이것을 알고 많이 사용하죠. 적극적으로 사용 하는 사람들은 거의 없지만...
         문장으로 부터 클래스를 추출해 낼 때 유용하게 사용 할 수 있을듯 하다.
  • FrontPage . . . . 4 matches
          * '''[[ZeroWiki]] 사용이 처음이시거나 미숙하신 분'''은 [[ZeroWiki]]에서 사용하는 위키엔진인 모니위키의 튜토리얼을 읽어보세요!
          * [[WikiSandBox]] : 위키 문법에 대한 간단한 설명이 있고, 자유롭게 위키 사용을 연습할 수 있는 공간입니다!
          * 페이지 제목에 공백을 사용하면 링크가 제대로 걸리지 않는 문제가 생기는 것 같아 임시로 공지합니다. 해결하면 수정하겠습니다.
  • GarbageCollection . . . . 4 matches
         컴퓨터 환경에서 가비지 컬렉션은 자동화된 메모리 관리의 한가지 형태이다. 가비지 컬렉터는 애플리케이션이 다시는 접근하지 않는 객체가 사용한 메모르 공간을 회수하려고 한다. 가비지 컬렉션은 John McCarthy 가 1959년 Lisp 언어에서 수동적인 메모리 관리로 인한 문제를 해결하기 위해서 제안한 개념이다.
         1. 어떻게 앞으로 사용되지 않을 객체를 결정할 수 있는가?
         2. 그 객체가 사용하는 객체의 저장공간을 어떤식으로 반환할 것인가?
         2번째의 것의 경우에는 자료구조 시간에 들은 바로는 전체 메모리 영역을 2개의 영역으로 구분(used, unused). 메모리를 할당하는 개념이 아니라 unused 영역에서 빌려오고, 사용이 끝나면 다시 unused 영역으로 돌려주는 식으로 만든다고함. ㅡㅡ;; 내가 생각하기에는 이건 OS(or VM), 나 컴파일러 수준(혹은 allocation 관련 라이브러리 수준)에서 지원하지 않으면 안되는 것 같음. 정확하게 아시는 분은 덧붙임좀..;;;
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 4 matches
         데이터 은닉이란 모듈이 그것이 갖는 기능들을 명세한 인터페이스(interface)를 통해서만 접근되고, 그 기능을 구현하는 방법은 다른 모듈로부터 은닉되도록 하는 것을 말한다. 캡슐화된 객체의 외부 인터페이스를 엄밀히 정의함으로써 독립적으로 작성된 모듈간의 상호 종속성을 극소화하여 캡슐화된 객체는 외부 인터페이스만을 통하여 접근될 수 있도록 한다면, 세부적인 구현 상세 사항에 대해서는 객체내에 은닉시킬 수 있다. 또한 캡슐화된 객체는 객체 구현내역을 변경, 혹은 향상시킬 때 이 객체를 사용하는 타 객체들을 변경하거나 다시 컴파일하지 않도록 할 수 있다. 또 모듈의 내부 구현 사항들이 외부의 접근으로부터 보호될 수 있음으로, 그 객체의 정당성을 보증할 수 있으며, 오류가 발생되었을 경우에 오류는 한 모듈내로 국지화될 수 있다.
         우리가 흔히 다루는 각각의 객체들은 서로의 관련되 영역을 사용할 수 있는 부분과 없는 부분이 있다. 이것은 별도로 접근이 가능한 영역과 불가능한 영역으로 나누어서 관리하기 때문이다. 이것을 바로 캡슐화라 한다. 갭슐화는 바로 접근 가능한 코드와 불가능한 코드로 나눔으로 인해서 데이터나 특별한 영역을 보호하거나 감추는 역활을 할 수 있다. 때문에 필요한 경우 데이터의 접근 필드를 제한함으로서 데이터를 보호하는 결과를 얻을 수 있다.
         상속이란, 기존에 만들어 놓은 객체들로 부터 모든 변수와 메소드를 물려 받아 새로운 객체를 만들 수 있다는 것을 뜻한다. 즉, 새프로그램을 만들 때 기존의 자료를 이용해(상속받아) 새롭게 정의하여 사용한면 된다는 것이다. 이로인해 부수적으로 프로그래밍의 노력이 줄고 시간 단축되며 그리고 OOP의 가장 중요한 재사용성(Reusability) 얻을 수 있다. 델파이는 TObject라는 최상위 객체로부터 상속시켜 단계적으로 하위 객체들을 생성해 만들어진 구조를 지니고 있다.
  • HardcoreCppStudy/첫숙제/Overloading/변준원 . . . . 4 matches
         C++의 새로운 특징 중 하나인 디폴트 전달인자를 살펴보자. 디폴트 전달인자는 함수의 호출에서 대응되는 실제 매개변수를 빠뜨렸을 때 자동적으로 사용되는 값이다.
         전달인자 리스트를 가지고 함수를 사용할 때에는 디폴트 전달인자를 오른쪽에서 왼쪽의 순서로 첨가해야 한다. 즉, 어떤 전달인자의 값을 내정하려면 그 전달인자보다 오른쪽에 있는 모든 전달인자를 디폴트 전달인자로 해야 한다.
         beeps = harpo(8,7,6); //디폴트 전달인자를 사용하지 않음
         다음은 함수의 다형성에 대하여 알아보자. 디폴트 전달인자는 개수를 변화시켜 가면서 같은 함수를 호출하게 했다. 함수의 다형성은 함수의 재정의라고도 하는데, 이는 여러 개의 함수가 같은 이름을 사용할 수 있게 해준다. ‘다형성’이라는 표현은 많은 형태를 가질 수 있게 해 준다.
  • HelpOnConfiguration . . . . 4 matches
         모니위키의 몇몇 플러그인중 외부 프로그램을 사용하는 프로그램은 환경변수 PATH를 참조하여 외부 프로그램을 호출하게 된다. 이때 PATH의 설정이 제대로 맞지 않아 외부 프로그램이 제대로 실행되지 않는 경우가 있다. 이 경우 config.php에서 `$path`를 고쳐보라.
         만약 시스템 차원에서 rcs를 지원하지 않는다면 rcs를 컴파일해서 사용해보라. 예를 들어 모니위키가 설치된 디렉토리가 {{{moniwiki}}}이고
         윈도우에서 gvim을 사용하여 작동된다. 이 경우 {{{$path}}}설정을 제대로 해주어야 하는데, 예를 들어 다음과 같은 식으로 `config.php`에 설정을 한다.
         /!\ monisetup.php은 config.php를 변경할 수 있으나, 간단한 변경만 지원하고 세세한 변경은 지원하지 않는다. 최근 1.1.3 버전부터는 여러줄의 config.php 설정을 읽고 수정할 수 있다. 단, monisetup.php를 사용할 경우 코멘트는 모두 제거가 되므로 주의해야 한다.
  • HelpOnTables . . . . 4 matches
         테이블을 만들기 위해서는 테이블임을 나태내는 "`||`"를 사용합니다. `||`로 시작해서 `||`로 끝나면 테이블이 되며, 여러개의 셀을 만들기 위해서 여러번 반복하여 `||`를 사용하여 각 셀을 나누면 됩니다. 여러개의 컬럼에 걸쳐서 셀을 만들려면 `||`를 두번이상 반복해서 `||||` 식으로 만들어줍니다.
         테이블의 속성을 넣을 필요가 있는 경우가 있습니다. 예를 들어 테이블 셀의 색상이나 폭 등등의 몇가지 테이블 속성을 사용하면 테이블의 가독성을 높일 수 있을 것입니다. 이를 위하여 테이블 속성을 정해주는 문법을 지원합니다. 속성은 꺽쇠 괄호를 사용해 {{{<...>}}} 형태의 문법으로 `||` 마크 다음에 바로 붙여서 써주어야 합니다.
  • Java2MicroEdition . . . . 4 matches
         Java 2 Micro Edition (J2ME) 은 휴대전화나 PDA 같은 이동통신 기기등의 가전제품을 목표로 하고 있다. 그래서 초소형 장치에서 작은 장치에 이르는 이른바 소형 디바이스 들이 Java 를 사용할 수 있도록 지원하는 플랫폼이다.
          * PDA 등에서 사용되는...
          * 휴대전화와 같은 매우 제한적이 하드웨어에서 사용되는...
          그림을 보면 맨 아래에 MID, 즉 휴대전화의 하드웨어 부분이 있고 그 위에는 Native System Software가 존재하며 그 상위에 CLDC가, 그리고 MIDP에 대한 부분이 나오는데 이 부분을 살펴보면, MIDP Application과 OEM-Specific Classes로 나뉘어 있는 것을 알 수 있다. 여기서의 OEM-Specific Classes라는 것은 말 그대로 OEM(Original Equipment Manufacturing) 주문자의 상표로 상품을 제공하는 것이다. 즉, 다른 휴대전화에서는 사용할 수 없고, 자신의(같은 통신 회사의) 휴대전화에서만 독립적으로 수행될 수 있도록 제작된 Java또는 Native로 작성된 API이다. 이는 자신의(같은 통신 회사의) 휴대전화의 특성을 잘 나타내거나 또는 MIDP에서 제공하지 않는 특성화된 클래스 들로 이루어져 있다. 지금까지 나와있는 많은 MIDP API들에도 이런 예는 많이 보이고 있으며, 우리나라의 SK Telecom에서 제공하는 SK-VM에도 이런 SPEC을 가지고 휴대전화의 특성에 맞는 기능, 예를 들어 진동 기능이나, SMS를 컨트롤하는 기능 들을 구현하고 있다. 그림에서 보듯이 CLDC는 MIDP와 OEM-Specific Classes의 기본이 되고 있다.
  • JavaStudy2003/두번째과제/곽세환 . . . . 4 matches
          // KillRoach를 어떻게 사용할까???
          클래스를 실제로 사용할 수 있도록 선언하는 것
          상위클래스가 가지고 있는 특성들을 하위클래스에서 사용할 수 있다.
          아직 상속을 읽고 있는 중이기 때문에 모르는 것이지요^^. private 과 protected 는 상속이 이루어지지 않으면 똑같이 사용이 됩니다. 하지만 상속이 이루어진다면 의미는 틀려지죠. 만약 '''자동차''' 라는 객체가 있다고 봅시다. 그런데 이것은 굉장히 추상적인 개념이지요. 이 '''자동차''' 의 하위 개념인 '''트럭''' 과 '''버스''' 와 '''승용차''' 를 '''자동차'''에서 상속받아 만들었다고 합시다. 그랬을 때 '''자동차''' 가 가지는 어떠한 상태는 '''트럭''' 과 '''버스''' 와 '''승용차'''도 역시 가지고 있을 수도 있습니다. 이런 경우 protected 로 선언해 주면 그 상태를 상속받을 수 있다는 것이지요. 하지만 외부에서 접근은 불가능하다는 사실은 변함이 없습니다. 하지만 public 은 외부에서 접근이 가능하게 되는 것이지요. 한번 직접 코드로 만들어보세요. 어떻게 다른지 채험하는게 가장 이해가 쉬울겁니다.
  • MFC/ObjectLinkingEmbedding . . . . 4 matches
         || AddRef() || 인터페이스를 사용하는 클라이언트의 개수에 대한 카운터를 증가시킨다. ||
         || Release() || 인터페이스를 사용하는 클라이언트의 개수에 대한 카운터를 감소시킨다. 카운터가 0이되면 더이상 사용되지 않으므로 메모리에서 해제될 수 있다. ||
         스를 만들어서 사용하는 것도 가능하다.
  • MicrosoftFoundationClasses . . . . 4 matches
          ''컴파일 해보고자 하는 분들은 Project/Setting/General 항목에서 MFC DLL을 사용한다는 설정을 해야한다.
         이를 사용하면 데이터의 저장, 검색에 있어서 MFC가 제공하는 표준적인 메카니즘을 이용하는 것이 가능해진다.
         응용프로그램에서 document를 몇개를 다루느냐에 따라서 SDI(single document interface), MDI(multiple document interface)로 구분하여 사용한다.
         View는 도큐먼트에 존재하는 데이터의 집합체를 우리가 원하는 방식으로 표현하는 메카니즘이 구현된 객체이다. document 와 마찬가지로 CView라는 클래스를 상속하여 사용하게 된다. View는 윈도우의 개념으로 보아서 프레임 윈도우 영역안의 클라이언트에 속하는 view만의 윈도우안에서 표현된다. 한개의 document 에 대해서 view는 여러개로 나누어서 만들어지는 것이 가능하다.
  • NSIS/Reference . . . . 4 matches
         InstType 하나당 여러개의 Section 묶음으로 되어있는 것이다. 사용자는 각각의 Section 에 대해 활성/비활성화 함으로서 설치될 모듈들을 고를 수 있다.
         || Section || "ZPTest Defaults Modules (required)" || Section 의 시작을 알린다. Section의 이름을 설정. 만일 Section의 이름이 비어있거나 '-'로 시작되는 경우에는 사용자가 선택할 수 없고, 볼 수도 없다. (즉, 반드시 필요한 Section에 대해). 그리고 가장 처음으로 선언되는 Section은 default Section이 되며 역시 필수 Section이 된다.||
         || Delete || [/REBOOTOK] file || 화일을 삭제한다. 와일드카드 사용가능.||
          * $0 ~ $9, $R0 ~ $R9 - 사용자 변수들. 다른 명령어들의 결과값 등을 받을 때 이용할 수 있다.
  • NumericalExpressionOnComputer . . . . 4 matches
          컴퓨터 언어에서 사용하는 수치표현은 크게보아서 2진수, 8진수, 10진수, 16진수 이렇게 4가지로 구분함. 전류 시그널을 이용하는 컴퓨터의 특성상 2진수의 사용은 필수적인 것이고, 8진수를 사용하는 이유는 과거 12bit, 36bit와 같이 3의 배수 bit를 기반으로한 컴퓨터 archi가 존재했기 때문이다. (현재에서는 거의 쓰이지 않지만, 아직 C/C++ 등 많은 언어에서 제공한다.) 10진수는 인간이 사고하기 편하기 때문에 의미가 있는수. 16진수는 2진수의 표현을 바로 바꿀 수 잇다는 장점으로 표현공간의 절약을 위해서 만이 사용한다.
  • OOD세미나 . . . . 4 matches
          * 원래 정말 철저하게 절차지향적으로 프로그래밍 하던 사람이라... 오늘 내용이 좀 어려웠습니다;; 특히 그냥 들을때는 이해하면서 넘어가도, 실제 프로그래밍을 하려니까 막막하더라구요. 마지막 실습때 질문도 했었는데, 형은 if문 안에서 Comparer 객체를 선언해서, equals 함수를 사용하라고 하셨는데, 전 if문 안에서 객체를 생성할 생각조차 하지 못했었거든요. 그저 주어진 정보만 가지고, 반복문을 돌릴 생각뿐이었죠; 그런데 집으로 돌아오면서 생각해봤는데, 제가 짠대로 하면 '''“단일 변화로 인한 수정 사항을 예측 가능한 범위 내에 집중시켜라.”''' 라는 말과는 거리가 한 참 멀어지더라구요;; 예측은 가능한데 예측범위가 프로그램 소스 코드 전~부 라는거죠. 덕분에 "아, 정말 이런거 때문에 OOP를 하라는 거구나" 라는걸 알게 되었습니다 ㅋㅋ
          get과 set을 사용하면 메인에서 그 자료형이 뭔지 알고 있는 거니까 변경시에 같이 변경해야 하므로 사용을 자제하는 건가요? 다른 클래스에서 private로 선언한 거를 메인에서 접근하기 위해 get과 set을 사용하는 거 같은데, 그럴거면 private로 왜 선언하는 건지 의문을 작년에 가졌...는데 여전히 모르는..;ㅅ; 우문(뭔가 질문하면서도 이상해서..;)현답을 기대합니다 ㅎ; - [강소현]
  • PhotoShop2003 . . . . 4 matches
          * 눈깔 책의 내용을 참조하면서 어젯밤 만든 IMAGE CLASS , PIXEL CLASS을 결국 사용안하기로 했다
          * 이유인즉 무슨 말인지 모르고 내가 사용 했기 때문이다. 그래서 픽셀중 2차원 사용법만 사용하기로 했다
  • PragmaticVersionControlWithCVS/CommonCVSCommands . . . . 4 matches
         ''(이번장이 이 책에서 가장 페이지수가 많은 장이다. 대략 4~50 페이지 정도이다. 이정도까지만 보면 cvs 사용하는데 큰 무리는 없을 듯하다.)''
         note) 바이너리를 자주 사용한다면 cvswrappers 에 대해서 알아보자.
         개발을 하는 도중에는 여러개의 중간 단계의 파일들(.obj, .class 등등)이 생성된다. 이런 파일은 굳지 CVS 저장소에 보관하는 것이 아니라 로컬에 저장해 두고 사용자가 필요할 때마다 새로 생성시키는 것이 옳은 일이다. 다행히 cvs 는 이러한 일을 설정하는 것이 가능하다.
         이렇게 저장된 .cvsignore 를 저장소에 올려두면 그 저장소를 방문하는 모든 사용자들도 동일한 무시 설정하에서 작업하는 것이 가능하다.
  • ProjectPrometheus/EngineeringTask . . . . 4 matches
          * 검색된 책들은 출판날짜, 사용자 평가 (Review) 에 따라 정렬되어진다.
          * 사용자들을 관리할 수 있다. (사용자 정보 수정/삭제)
          * 사용자들에게 공지를 전달할 수 있다.
  • ProjectPrometheus/개요 . . . . 4 matches
         하지만, 현재의 도서관 시스템은 사용하면 할 수록 불편한 시스템이다. "Ease of Learning"(MS 워드)과 "Ease of Use"(Emacs, Vi) 어느 것도 충족시키지 못한다.
         지금 도서관의 온라인 시스템은 상당히 오래된 레거시 코드와 아키텍춰를 거의 그대로 사용하면서 프론트엔드만 웹(CGI)으로 옮긴 것으로 보인다. 만약 완전한 리스트럭춰링 작업을 한다면 얼마나 걸릴까? 나는 커스터머나 도메인 전문가(도서관 사서, 학생)를 포함한 6-8명의 정예 요원으로 약 5 개월의 기간이면 데이타 마이그레이션을 포함, 새로운 시스템으로 옮길 수 있다고 본다. 우리과에서 이 프로젝트를 하면 좋을텐데 하는 바램도 있다(하지만 학생의 사정상 힘들 것이다 -- 만약 풀타임으로 전념하지 못하면 기간은 훨씬 늘어날 것이다). 외국의 대학 -- 특히 실리콘벨리 부근 -- 에서는 SoftwareEngineeringClass에 근처 회사의 실제 커스터머를 데려와서 그 사람이 원하는 "진짜" 소프트웨어를 개발하는 실습을 시킨다. 실습 시간에 학부생과 대학원생이, 혹은 저학년과 고학년이 어울려서(대학원생이나 고학년이 어울리는 것이 아주 중요하다. see also SituatedLearning ) 일종의 프로토타입을 만드는 작업을 하면 좋을 것 같다. 엄청나게 많은 것을 배우게 될 것이다.
         사용자는 이 랩퍼를 통해 로긴을 하고, 책 평가도 하고, 리뷰도 쓰고, 베스트셀러 검색도 하고, 대출 예약도 한다. 기존 시스템의 모집합이 되는 셈이다. (하지만 꼭 그럴 필요는 없다. 중요하고 자주 쓰이는 기능만 노출해도 충분하다)
         일단 이걸 만든 사람들이 열심히 사용하다가, 우리과 사람들이 점점 더 쓰고, 나중엔 다른 과 학생들까지 쓰다보면, 혹시 모르잖는가. 정말 이런 시스템으로 도서관을 바꿀 생각을 정책입안자들이 하게 될지.
  • ProjectVirush . . . . 4 matches
         로그인 클라이언트 사용자 암호 암호화 1.5
         로그인 서버 사용자를 파일에 등록 0.5
         예약(zone->lab) 서버 사용자마다 스레드 할당 4
         연구실 서버 사용자당 실험용 지역 생성 6
  • ProjectZephyrus/Client . . . . 4 matches
         || 사용자 로그인 관련 ID/PASS 입력창 작성 || 1 || ○ (20분) 5/31 ||
         |||||| ''' 서버에 사용자등록 - 3 (이는 일단 서버팅 DB 에 있는 것을 이용하기로 함) ''' ||
         || 사용자 등록 양식 작성 || 0.5 || . ||
         || 사용자 입력 데이터를 서버에 전송 || 1 || . ||
  • PythonThreadProgramming . . . . 4 matches
          * lock이 왜 필요하나? -> 하나의 공용 자원을 여러 스레드가 동시에 사용하면 문제가 생길수 있다. 그래서 공용자원을 사용할때는 락을 걸고 사용하고 사용하고 나서는 락을 푼다.
  • RandomFunction . . . . 4 matches
         랜덤함수의 사용법입니다.
          rand() % a + b의 형식을 사용하면 b ~ a+b 사이의 숫자를 얻을 수 있습니다. ( 1da + b 라고도 하지요. )
          b가 -일 경우에는 사용에 주의가 필요합니다
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
  • Ruby/2011년스터디 . . . . 4 matches
          * 음수를 배열의 인덱스로 사용할 수 있다.
          * Proc객체와 lambda함수의 차이점(정확한 차이점과 사용법)
          * 숫자도 객체로 취급해서 메소드를 사용할 수 있다.
          * , 의 사용 : {{{a, b = b, a}}} 로 간단하게 swap을 구현할 수 있다.
  • STL . . . . 4 matches
         "[STL] 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다." 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당한 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - [이승한]
          "사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당한 노력이 필요할 것 같습니다" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]
  • SeminarHowToProgramIt . . . . 4 matches
          * 7:00-7:30 세미나 준비, 환경 설치, 자리 선택, 각 언어 그룹별 xUnit(or assert) 사용법 정리/스터디
         처음에는 신입생 대상으로 Python 강의가 있다고 해서, 거기에 보탬이 될까 하는 마음으로 세미나를 해드리겠다고 했는데, 어떻게 중간에서 "프로그래밍 전반"에 대한 세미나로 성격이 변한 것 같습니다. 실습 중심으로 하게 될 것이고, 아무리 Python이 배우기 쉬운 언어라고 해도 Python에 익숙한 사람이 하나도 없는 페어가 두시간 안에 뭔가 다른 것을 (Python을 통해) 익힌다는 것은 어렵고, 또 효율적이지 못하기 때문에, 여러분들 자신이 가장 "자신있는" 언어를 사용하도록 하는 게 좋겠다는 생각을 합니다.
         이 때, OOP가 가능한 언어를 추천하고, 해당 언어의 xUnit 사용법을 미리 익혀오기 바랍니다. (반나절 정도가 필요할 겁니다) http://www.xprogramming.com/software.htm 에서 다운 받을 수 있습니다.
         (See Also ["PyUnit"], ["UnitTest"], ["JUnit"], ["CppUnit"]. C 언어를 사용하시는 분들은 ASSERT 문으로 UnitTest 부분을 어느정도 대신할 수 있습니다.)
  • SubVersionPractice . . . . 4 matches
          저장소에 있는 프로젝트를 사용자의 컴퓨터로 가져오는 명령이다. 사용자는 체크아웃한 프로젝트를 가지고 작업한다.
          저장소에서 최근에 변경된 내용을 사용자가 작업하는 프로젝트에 적용한다. (주의해서 사용)
  • UploadFileMacro . . . . 4 matches
         {{{[[UploadForm]]}}} 혹은 {{{[[UploadFile(js)]]}}}: 이 매크로는 여러개의 파일을 올릴 수 있는 폼을 자바스크립트를 사용하여 만들어준다.
         예를 들어, {{{MyPage}}}에 들어가서 {{{MyPage?action=UploadFile}}}을 하거나, MyPage에서 {{{[[UploadFile]]}}} 매크로를 사용하여 파일을 업로드를 하면 $upload_dir='pds';라고 되어있는 경우에 {{{pds/MyPage/}}}가 새롭게 만들어지고 거기에 올린 파일이 저장된다.
         $upload_masters=array('Foobar','Babo'); 여기에 등록된 모든 사용자는 파일 확장자와 무관하게 모든 종류의 파일을 업로드 할 수 있습니다.
         안전한 업로드가 이미 보장 된 경우 사용하실 수 있을 것입니다.
  • VendingMachine/재니 . . . . 4 matches
          * 자판기는 사용자 인터페이스를 구현하는데 사용하고, 사람이 주문할 음료(Drink)를 따로 분류하자..
          cout << used << "원을 사용하셨습니다.n";
          아직 클래스 사용법도 제대로 모르는지라 서툴기도 하고.. 결론은 역시 공부해야할 것이 많다는 것...^^
  • ViImproved . . . . 4 matches
         == 사용법 ==
         [[/사용법]] 참조
          * vimrc 을 직접 건들여 수정하기 힘든 사람들에게 꼭 추천하고 싶은 사이트 [[https://vim-bootstrap.com]] - 사용법은 직접 검색바람 - makerdark98
          * [[http://kldp.org/node/125263|vim 사용자를 위한 플러그인 매니저 vundle 을 소개 합니다. - KLDP]]
  • WIBRO . . . . 4 matches
         2.3GHz 주파수를 사용하는 초고속 휴대 인터넷을 지칭하는 말입니다.
          *일본애들이 휴대폰으로 인터넷을 하는 이유는 i-mode(전화 채널 중 한 채널을 데이터통신용으로 사용)라는 일본 기술을 을 사용하기 때문이죠. 가격은 싸지만 느리답니다.(데이터통신시간에 배움)--[강희경]
         몇가지 사용화의 걸림돌을 넘고 나면
  • WinAPI/2011년스터디 . . . . 4 matches
         ||WS_POPUP||2.팝업윈도우 3과 같이 사용 못함||
         ||WS_CHILD||3.차일드 윈도우 2와 같이 사용 못함||
         ||WS_DISABLED||6.사용금지/입력 못받음 ||
         ||WS_GROUP||17.라디오버튼등의 그룹을 정할때 사용 ||
  • ZIM/ConceptualModel . . . . 4 matches
         프로젝트 ["ZIM"]에서 사용하는 개념들입니다. ConceptualDiagram은 생략합니다.
          * '''ZIM Control''' : Zimmer 가 사용하는 프로그램 본체
          * '''Message Window''' : Zimmer 가 대화할 때 사용하는 창
          * '''Zimmer''' : ZIM 사용자.
  • ZeroWiki . . . . 4 matches
         == ZeroWiki 의 사용용도 ==
          * 위와 같은 목적으로 쓰는 사람들이 알아서 잘 사용하세요. 다른 사람들의 페이지에 대해서도 자유롭게 참여하십시오.
          kesarr: 노스모크는 흡연을 안 하는 사람들의 폐쇄적인 모임 같은 건데 처음에는 파이썬으로 구현된 유명 위키 플랫폼인 모인모인을 사용했는데 제로페이지 위키도 김창준 선배와 교류하면서 노스모크 활동을 하시던 제로페이지 선배님들이 모인모인을 적용했었고 노스모크 내부의 다양한 요구사항에 대응하기 위해서 노스모크의 한 회원이 모인모인을 개조하기 시작 이걸 모인모인 노스모크 에디션이라 부르고 그 회원이 아예 위키 플랫폼을 새로 만들자고 선언하고 PHP로 새로운 한국형 위키 플랫폼을 개발했는데 그것의 이름이 모니위키
          kesarr: 학교에 있던 제로페이지 서버가 폭파되는 재난이 발생... 06~07년에 사용하던 제로위키에 저장된 콘텐츠는 모두 증발하고 모인모인에서 제로위키로 옮겨타던 무렵 백업해둔 자료를 가지고... 새로운 서버에 모인모인과 문법이 호환되는 모니위키를 설치해서 운영 재개... 11-12년 도쿠위키 또는 미디어위키로 위키 플랫폼을 옮기려는 제로페이지 내부 프로젝트를 개설했으나... 다들 바쁜데 진행할 게 많고 이미 모니위키가 모인모인과 많이 달라져서... 모인모인-타위키 컨버터를 쓸 수 없다는게 함정 모니위키는 한국의 일부 위키만 쓰므로... 다른 위키와의 컨버터 따위 없다.. 게다가 제로페이지 위키는 모인모인 문법과 모니위키 문법이 혼재하기 때문에 컨버터를 만드는 것 자체가 까다로운...
  • ZeroWikiVsOneWiki . . . . 4 matches
         요 몇달간 한가지 목적(위키를 처음 사용하는 분들과 함께 새로운 규칙을 만들어가며 위키 사용에 익숙해지자는 것)을 위해서 제로위키와 원위키를 나눠서 썼는데, 그 결과나 앞으로 이대로 좋은지에 대해 토론해 봅시다. 그리고 다시 원위키와 제로위키를 합칠지 그대로 둘지도 생각해봅시다.
         위에 보이는대로 한 가지 목적으로 원위키를 나눴는데, 그 목적을 '''처음'''사용하는 분들이 잘 모르고 있지는 않았나? 아니면 많은 다른 사용하는 분들도 모르고 있지는 않았나? 나는 '''처음'''쪽인지 '''함께'''하는 쪽인지 알지는 못하겠지만, 처음에는 생각하고 있었으나 언제부터인가 '''목적'''을 잊고 있었다. 항상 들어가는 페이지(주로 [실시간멀티플레이어게임프로젝트])만 들어가다보니 생긴 현상일지도 모르겠다. 아무튼 '''목적'''잘 알려지지 않았다고 생각한다.
  • django/Model . . . . 4 matches
         모델은 웹 어플리케이션에서 사용할 데이터를 명세한 python소스코드이다. 모델은 데이터베이스와 연동되며, 간단한 경우 모델 하나가 데이터베이스 테이블 하나로 매핑된다. 따라서 웹 개발자는 데이터베이스를 직접 손대지 않고 소스코드인 모델을 변경해가면서 작업을 진행할 수 있다. 모델을 변경할 때마다 django에서 제공하는 manage.py syncdb를 이용하면 변경된 모델이 데이터베이스 테이블에 반영된다.
         모델은 사용자가 지정하지 않는 경우 기본적으로 id라는 이름으로 정수형 주키를 가진다.
         하지만 이 경우 risk_report와 control_report의 합성키를 사용하도록 지원하지 않는다.
         Django는 정의한 모델에 Admin클래스를 재정의해서 이를 삽입, 삭제, 갱신할 수 있는 기본적인 관리자 인터페이스를 자동으로 생성해준다. 사용자 인터페이스는 입력 항목을 원하는대로 배치할 수 있으며, 원하는 디자인도 적용할 수 있다. 이것으로 기본적인 입력 시스템은 만들어졌다.
  • html5/overview . . . . 4 matches
          * 전방호환성 - HTML5을 적용하기 이전의 브라우저에서도 HTML5사용가능(웹브라우저의 fall back 적용)
          * 이미 사용되고 있는 내용에서 사양을 추출한다
         * HTML의 목적 : 1998년 W3C는 html이 아닌 XHTML의 표준 사용을 권고한다. 그러나 XHTML은 HTML과의 비호환성으로 널리 퍼지지 못한다.
         * 결과적으로 10년이상 사용되는 HTML의 저사양이 오히려 웹 어플리케이션의 발전을 저해했다. 그러나 W3C는 XHTML을 위해 새로운 HTML의 개발을 거절한다.
  • zennith/MemoryHierarchy . . . . 4 matches
          하위 계층에서 가져온 데이터는, 다음번에 다시 쓰일 수 있다. 그러므로, 다시 사용할때는 하위 계층에서 다시 가져올 필요 없이, 저번에 가져온 데이터를 사용하면 된다.
         레지스터는 메모리 계층구조에서 가장 상위 계층으로서, 가장 빠른 속도와, 가장 적은 capacity 를 제공한다. 보통 개개의 레지스터는 그 프로세서의 word 크기이며, 현재 주로 사용되고 있는 인텔 i386 계열 프로세서들의 범용 레지스터의 크기는 32bit 이다.
          A: 각각의 계층마다 다릅니다. 캐쉬에서 쓰이는 unit 과 가상메모리에서 쓰이는 page 의 크기 차이는 큽니다. 다만, spartial locality 를 위해서 사용된다는 점은 같겠죠.. 좀더 상세한 설명을 원하신다면.. 제게 개인적으로 물어보시거나, 아니면 공부 하시길 -["zennith"]
  • 고한종 . . . . 4 matches
         >Mongo, Redis 사용 경험 있습니다.
          * JAVA의 Swing으로 만든 시간표 대신 만들어주는 프로그램 (...) 사실 만들어 놓고 안쓴다. 2학년 말에 만들어 놓고 이번 학기(2013년 1학기)에 본인조차 안 쓴걸 보면 기획부터가 잘못된 물건. 일단 소개를 하자면, 수강신청 기간이 되면 포탈에 그 학기에 개강될 과목들을 정리해서 xls 파일로 올려줍니다. 이걸 받아서, poi 라는 JAVA 라이브러리? 에 넣고 돌리면 "[cell값]" 형식으로 String이 나옵니다. 그럼 이걸 stringTokenizer에 ]와 [를 토큰으로 해서 잘게 쪼개줍니다. (애초에 그런거 없이 CSV로 나오면 최고겠지만.. 할줄 모름 ㅠ). 사실 그냥 엑셀에서 CSV로 만들어 쓰면 되는 데, 그때 당시엔 사용 편의성을 도모한답시고 뻘짓 함. 어짜피 아무도 안 쓸텐데 ㅠㅠ 그렇게 얻어낸 과목의 시간정보를 ArrayList에 넣고, 그걸 가지고 backtraking인지.. 를 했던것 같음. 결국 속도는 처참했지만 -_-... 모든 결과가 나오는 것도 아님. 마지막으로 코드를 수정하고나서 테스트로 돌렸을때, 내가 실제로 수강신청했던 시간표는 나오지 않았음 ㅇㅈㄴ... - [고한종], 13년 3월 16일
          * 나름 사용하기 쉽게 만든다고 만들었는데, 초기 셋팅에서 이상한짓해서 망치는사람이 은근 많다. 이거 만들고나서 컴퓨터 못하는사람들이 다 멍청이로 보인다 어뜩함 -_-;;; - [고한종], 13년 3월 16일
          * 원본 프로그램은 ActiveX로 만들어져있었다. 게다가 스레드 돌리기 싫어서 DoEvent 기법을 썼다(...) 이걸 나는 iOS로 포팅 하는데 성공했다. ActiveX도 결국 MFC이기 때문에 별로 안 어려워 보일 수 있으나... 모든 사용자 정의 함수는 void형에, 모든 멤버변수는 public이어서 어디서 초기화하는지 일일히 찾아서 작업해야 했다. 미치는줄 알았음. 심지어 한 함수안에서 딱한번 쓰는 변수도 클래스 멤버변수로 선언되어 있기도 했음.. 그냥 지역변수를 쓰지!? - [고한종], 13년 3월 16일
  • 논문번역/2012년스터디/신형준 . . . . 4 matches
         자필 글자 인식에 대한 체제가 발표됬다. 이 체제는 자유 분할 접근에 의한 특성을 가지고 있는데, 전체 문서의 한줄이 인식모듈에 의해 처리되어 진다는 의미를 가지고 있다. 전처리, 특징추출, 그리고 통계적 모형화에 있어 사용되는 방법이 소개되어 있고, 인식 주제(문서) 들을 자필로 하는 독립된 작가, 다수의 작가, 그리고 혼자쓰는 작가에 대한 몇몇의 실험들이 실행되었다.
         패턴 인식의 도전 영역은 자필 문서 인식에 있다. 지금까지 대다수의 자필 인식 시스템은 우편 주소를 읽거나 은행 수표와 같은 형태들을 처리하는데 사용됬다. 반면에 이 시스템은 분리된 문자 또는 단어에 대해서 한계를 가지고 있는데, 오직 구속되지 않은 자필 문서의 인식에 대한 많지 않은 시스템 만이 존재했다. 이와 같은 수행의 증가된 복잡성 때문에, 문자의 부재 혹은 단어의 경계 정보, 거기에 크거나 심지어 한계가 없는 단어들에 의해 특징지어진다.
         전처리 과정과 특징추출에 대한 방법이 묘사되었다. 그리고 게다가 선형 판별 해석, 이서 특징 모델들의 사용, 그리고 통계적인 언어 모델들과 같은 더 세련된 기술들을 살피게 될 것이다.
         다음 부분에서 우리는 오프라인 필기인식에 관련된 일의 짧은 보고서를 볼 수 있다. 우리가 사용하는 데이터베이스는 section 3에서 소개되어질 것이다.
  • 데블스캠프2002/날적이 . . . . 4 matches
          * 대근) 오호... Unix 를 사용한 것은 정말 뜻깊은 기회였습니다. Linux의...그것도 이론만 접해본 저로서는 익힌 명령어들을 쓰구 쓰구~~ 또 쓰면서 너무 기쁜 시간이었습니다.. 물론 숙제라는 강박관념두 없었고요...[[BR]]
         정말 랜덤 워크는 어려웠습니다.. 저는 랜덤 방향을 하나하나 만들어서 ELSE IF 문으로 돌고 또 돌았습니다.. 나중에 풀고 나서 재동형이 보여준 소스인 방어벽을 사용하지 않는 소스를 보고 아차~ 하는 생각이 들더군요.. 동적 2차 배열도 참신하게 재밌었습니다... 나머지라...[[BR]]LINKED LIST는 손도 못 대밨지만 옆에서 하시는 걸 보니 정말 어렵더군요..-_-;;[[BR]] 하노이의 탑 역시 지금 열심히 6시가 넘겨 풀고 있지만 풀릴지.....^^[[BR]]
          * 현민 : 오늘 처음으로 유닉스라는 것을 해봤는데 윈도우처럼 그래픽 기반이 아니라서 사용하기가 힘들었습니다.
          그리고 처음에는 스위치 함수안의 이프문을 사용했는데 중복되는 명령문들이 아주 많이 나와서 소스가 너무 복잡하게 보였습니다. (재동
  • 데블스캠프2003/ToyProblems/Random . . . . 4 matches
         랜덤함수의 사용법입니다.
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
          rand() % a + b의 형식을 사용하면 b ~ a+b 사이의 숫자를 얻을 수 있습니다. ( 1da + b 라고도 하지요. )
          b가 -일 경우에는 사용에 주의가 필요합니다..그럼=ㅂ=;; [이진훈]
  • 데블스캠프2010/첫째날/후기 . . . . 4 matches
          * 짱신기해요!!!ㅋㅋㅋ 잘 사용할수잇을진 모르겟찌만..ㅠㅠㅠ - [박소연]
          * 새롭게 경험해보지 못한 Rur-ple이라는 파이썬을 이용한 프로그래밍 언어 환경을 사용해보았습니다. 평소에 프로그래밍 언어에 대해 머리아프다고만 생각했었는데 이렇게 로봇을 이용해 움직이는것을 보니 좀더 재미있게 프로그래밍을 할 수 있었습니다. 머리를 많이 사용해서 그런지 좀 어지럽긴 하지만 평소에 C나 자바 대신 이것으로 프로그래밍을 한다면 코딩도 잘하고 성적도 잘 받을수 있을것만 같네요ㅎㅎ - [허준]
          * 리눅스 커널 링크드 리스트를 구조체를 이용해 설명해주셨었는데, 집중도가 떨어진 상태라 잘 듣지 못했습니다. 기억나는 것은 구조체를 넘기는 것 보단 구조체 포인터를 넘겨라 입니다. 이 말의 의미가 &Struct보단 &(pStruct)를 하라는 의미인가요? 많이 헷갈리더라구요 ㅜㅜ 템플릿에 대한 이야기도 잠깐 해주셨는데, 기억나는건 '템플릿은 좋다'입니다. 그런데 저는 '프로그래머가 자신의 편안을 추구하면 결국 유저에게 그 부담이 간다.'는 생각을 하고 있거든요. 설계가 아닌 문법사용에 있어서요. 앞으로 일반화 프로그래밍을 공부해볼 생각인데, 일단 먼저 오늘 생긴 의문을 풀어줄 부분을 공부해봐야겠네요 ㅋㅋ - [박성현]
  • 데블스캠프2011/다섯째날/후기 . . . . 4 matches
          * 파이썬의 기본적인 프로그램을 배우고 (python에서 제공하는 학습용 라이브러리인 turtle을 사용하였습니다.) 네트워크에 관한 간단한 설명들을 들었습니다. 네트워크라는 부분을 공부해 본적이 없어서 처음 네트워크에 대해 이해하는 것이 어렵긴 했지만 알기쉬운 설명덕분에 그럭적럭 이해하고 넘어갈 수 있었습니다. server와 Client측에서 네트워크를 구성하는 부분을 파이썬으로 작성하였는데 코드는.. 긁어 왔다ㅋ 헌데 파이썬의 장점처럼 코드가 무지하게 짧았던게 인상깊었다.
          * 루아에 대한 간단한 소개와 문법의 설명. 사실 바쁘실텐데 와서 짧은 세미나라도 하고 가신 것만 해도 참 대단하시다는 생각이 듭니다. 사실 루아에 대한 이미지는 세미나 때 전체적인 분위기도 그렇듯이 와우 UI에 사용하는 언어라는 정도만 알고 있었는데 조금 더 자세한 설명을 들을 수 있었습니다. 개인적으로 세미나를 듣고 든 생각은 두 가지군요. 하나는 객체가 없다니??? 하는 것과 다른 하나는 크기가 작다는 게 그렇게까지 큰 메리트가 될 수 있는가? 하는 점이었습니다. 사실 요즘 이런저런 곳에서 게임 로직을 루아로 만든다는 얘기를 들었는데, 특정 작업에서 쓰는 사람들이 있다는 것은 그 부분에서 인정할 만한 뭔가가 있다는 뜻이겠지요. 하지만 개인적으로는 아직도 조금 더 손을 대 봐야 할 언어들이 있어서 당장은 건드려 볼 일이 없을 것 같다는 느낌이 좀...
          * 개인적으로 항상 고민하는 부분 중의 하나입니다. 어떻게 하면 코드를 잘 짤 수 있을까. 그리고 회고 때에도 말했듯이 제가 작년 데블스 마지막 때 세미나를 하고 싶다고 했던 주제이기도 합니다. 변명삼아 말하자면 아직도 스스로가 남에게 이야기 할 수 있을 만큼의 능력과 자신감이 없어서 세미나를 피한 것도 있습니다 ;;; 사실 제가 한다고 하면 생각을 코드로 만드는 법(형진 선배의 말하듯이 코딩하기 부분) + 남이 만들어 둔 라이브러리의 사용 으로 하려고 했는데 과연 그게 괜찮은 방법인가에 대한 확신은 역시 좀 부족하군요... 하지만 모르긴 몰라도 언어에 사로잡히지 말고 로직이 우선해야 한다는 생각은 기본에 둬도 괜찮을 것 같습니다.
          * 시간 빠듯했던 것 같은데 예를 들어서 알기 쉽게 설명해주시느라 고생하신 것 같습니다. 개념적으로는 보면서 참 신기하다는 생각이 들었습니다. 하지만 실제 구현 부분의 얘기를 하면서 이런 저런 연산을 한다는 부분에서는 갑자기 흥미가 -_- 연산 부분의 실제 구현에 대한 것도 나쁘지 않긴 했지만 C나 자바 등의 주요 언어에서의 라이브러리 사용 등의 설명도 있었으면 더 좋았을 것 같습니다.
  • 데블스캠프2011/셋째날/후기 . . . . 4 matches
          * String은 자바를 사용할때 매우 빈번하게 사용하는 클래스라 직접 구현하는게 재미있었어요! 물론 귀찮고 어려워보이는건 넘어갔지만.............
          * 그냥 값을 가지게 하는 식이라면 어떻게든 비슷하게는 만들겠지만 불변객체로 만들라는 부분이나 const 사용 등을 고려하려고 하니까 힘들어지네요. 게다가 함수도 몇 개 못만들고... -_- 평소에 쓰는 string 클래스의 고마움을 절실히 느꼈습니다.
          * 작년에도 러플이 재미있어보였는데 알바때문에 못들었는데 오늘도 계절학기때문에 끝날때쯤 오긴 했지만 어떻게 사용하는건지 알게되었습니다. 작년에 콜솔화면만 보다가 직접적으로 눈에 동작이 보이니까 신기해보였는데 역시 간단하게 만든 동작을 바로바로 눈으로 볼 수 있으니까 재미있는것 같네요, turn_right 가 있는줄알고 계속 왜 안돼나 했어요.. ㅋ
  • 데블스캠프2012/셋째날/후기 . . . . 4 matches
          * [김준석] - 날로먹는 APMSetup이 이렇게 유용하게 연속적으로 쓰일줄은 몰랐습니다. 실습은 Naver API 개발자 센터에 자신이 사용할 사이트 주소를 쓰고(안드로이드는 package명으로 인식하는게 재밌었습니다. 많은 사람도 쓸수 있게 서비스 하는군요) 그위에 마크를 올리는게 좋았습니다. 그러고보니 이번엔 코드는 안올려주네요. 역시 javascript와 웹서비스는 대세인듯=ㅂ= 코드임 [데블스캠프2012/셋째날/코드]
          * [박정근] - 늦게와서 제대로 못 들었네요ㅠ 뒷부분에 API를 사용하는 부분을 보니 관심이 생겼습니다. 한번 들여다 봐야겠어요
          * [김수경] - 그냥 API 사용하는 법에 대한 얘기만 할거라 예상했었는데 소켓부터 시작해서 제법 이론적인 이야기들이 많이 나와서 좋았습니다. 사실 저는 네트워크 수강을 마친 상태라 설명에 불만이 없었지만 새내기 입장에서는 설명이 이해하기 조금 어렵지 않았을까 싶네요. 내용 자체가 익숙하지 않은 것 투성이니까요ㅠㅠㅠ 하지만 마지막에 직접 실습을 해보면서 재미도 느낄 수 있었을 것 같습니다.
          * [서영주] - 왜 이런 환경을 구축해서 사용하는가에 대한건 다른 사람들과 프로젝트를 진행해보지 않았으면 느끼기 어려운 것 같은데 그 필요성을 조금 더 말했어야 했던 것 같습니다. 저학년들은 일단 SVN으로 편하게 프로젝트를 공유할 수 있다는 것 정도만이라도 알아가면 좋겠다고 생각합니다.
  • 레밍즈프로젝트/프로토타입/MFC더블버퍼링 . . . . 4 matches
         == 사용 ==
         클래스 내부에는 윈도우 핸들이 없기 때문에 GetClientRect를 사용하지 못한다. 따라서 전달인자로 CRect가 전달된다.
         == 사용 ==
         화면의 끊김을 없애기 위해서 사용될 것이다.
  • 마케팅천재가된맥스 . . . . 4 matches
          * 기회를 혼자서만 사용하기를 원한다. 최고의 특권을 가지고 싶어한다.
          * 지식, 자원이 풍부. 제품을 공급만 해줘도 알아서 잘 사용할 정도의 지식..
          * 제품에 대한 기술적, 제품 사용 교육등 토탈 솔루션 제공
          * 이 제품의 경쟁자는 누구인가? (신제품이라 할지라도 기존의 비슷한 용도로 사용하던것들)
  • 문자반대출력/허아영 . . . . 4 matches
         그리고 char 함수를 처음 사용해서. 처음에 에러도 많이 났다.
          단점: 한글과 영어를 섞어서 사용 못한다는 점. 영어와 한글을 섞을 수 있는 ver.3 만드는 것이 문제.
          비베에서는 한글이나 일본어처럼 2바이트를 사용하는 글자의 경우 알아서-_- 판단하고 한 글자 단위로 읽는 함수가 있긴 한데 씨에서는 알파벳과 같은 1바이트 문자인지 아니면 2바이트 문자인지를 어떻게 구분해야 할까요? -태훈 [zyint]
          MSB는 비트로 표현된 값에서 가장 중요한 요인이 되는 값을 말합니다. 가령 10001000 이라는 값이 있을때 가장 왼쪽에 있는 1이 MSB입니다. 마찬가지로 가장 왼쪽에 있는 0을 LSB (Least Significant Bit)라고 합니다. 지금 설명드린 내용은 BigEndian Machine 의 경우, 즉, 비트를 왼쪽에서 오른쪽으로 읽는 아키텍처에서의 MSB, LSB를 설명드린 것이고, LittleEndian (비트를 오른쪽에서 왼쪽으로 읽는) 아키텍처에서는 LSB와 MSB가 바뀌어야겠죠. 현대의 거의 모든 아키텍처에서 영문은 ascii 코드로 표현합니다. ascii코드의 값은 0~127인데 이를 8비트 2의 보수를 사용해서 표현하면 MSB가 모두 0 이 됩니다. 이 경우에는 해당 문자가 1바이트의 문자란 것을 뜻하고, MSB가 1인 경우에는 뒤에 부가적인 정보가 더 온다 (죽, 이 문자는 2바이트 문자이다)라는 것을 말합니다.
  • 방울뱀스터디/GUI . . . . 4 matches
         anchor=NW # 객체위치를 북서쪽으로 설정. fill옵션을 사용하지않아야 제대로 보일꺼 같은...
         스크롤바는 대부분 리스트박스, 캔버스(Canvas)등과 함께 사용된다.
         수평 스크롤바사용시에는 yscrollcommand대신 xscrollcommand, yview대신 xview를 사용..
  • 빵페이지/숫자야구 . . . . 4 matches
          int rand_num[3]; //난수생성에 사용될 변수입니다.
          int i, j, k, num; //i,j,k 는 포문용, num 은 사용자 입력입니다.
          int player_num[3]; //사용자가 입력한 값을 각 자리 숫자로 나눠서 rand_num과 비교하기 쉽게 만듭니다.
          - 소스코드를 보아하니 레이블로 '''cin''' 을 사용하였군요. cin 이 c++의 예약어는 아니지만 예약어와 마찬가지인 ostream 의 객체 이름입니다. 이런 레이블은 코드를 읽는 사람에게 그 의미가 와전되어 전달될 수가 있습니다. - [임인택]
  • 사과나무/과제방/1회차/김도익 . . . . 4 matches
         scanf 함수는 사용자로부터 자료를 입력받는 함수입니다.
         scanf() 함수는 입력란을 만들어 자료를 입력받는 함수입니다. 입력된 자료는 매개변수로 지정한 변수에 대입됩니다. 문장 형식을 통해 입력된 자료를 변수에 대입한다는 점에서 변수의 값을 문장 형식에 사용하는 printf() 함수와는 출력 방향이 반대인 셈입니다
         scanf() 함수를 사용하기 전에 printf() 함수로 안내문을 보여주는 것이 좋습니다.
         scanf() 함수로 입력된 자료는 변수에 저장됩니다. 이때 입력받을 수 있는 자료형의 종류가 정해진 상태이므로 사용자가 제대로 입력해주어야 합니다. 따라서 scanf() 함수로 자료를 입력받기 전에 어떤 자료를 입력해야 하는지 알려주는 안내문이 필요합니다. 이 안내문은 printf() 함수를 통해 미리 보여줄 수 있습니다.
  • 새싹교실/2011/AmazingC . . . . 4 matches
         ==== part2. Hello World 출력하기(printf함수의 사용과 코드 분석하기) ====
          * printf함수를 사용하여 문자열을 출력하는 방법에 대해 알아보았고 컴파일러가 main 함수를 분석하는 모습을 따라서 전체 코드를 분석했다.
          * 비트란 10진수의 숫자를 2진수로 바꿨을 때 디지털 숫자 한 자리를 비트라고 한다. 단, 맨 앞자리 비트는 부호 비트로 사용한다.
          * 식별자란 프로그램을 할때 사용자가 다른 것과 구분할 수 있도록 하는 것
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.29 . . . . 4 matches
          1. 특수 문자 중 \n을 사용하는 이유가 무엇인지 쓰세요.
          4. 다음 printf 함수와 scanf 함수 사용 중 틀린 것을 고르고, 제대로 고치시오.
          * 오늘 배운 것은 printf의 사용법과 각종 연산자에 대한 것이었다. 예전에 배운 적이 있지만 다시 배우니 더 깊이 알게 된 것 같다. 프로그래밍은 배울 수록 느는 것 같다. 앞으로도 복습은 소홀히 하지 않아야겠다. - [장용운]
         1. 개행 문자(\n)는 printf 함수에서 줄을 넘길 때 사용합니다. 이것에 캐리지 리턴(\r)을 직접 타이핑하지 않는 이유는 printf 함수가 텍스트 모드로 출력하기 때문에 자동으로 캐리지 리턴이 앞에 붙게 되기 때문입니다.
  • 새싹교실/2011/씨언어발전/5회차 . . . . 4 matches
          * 배열을 사용하는 이유, 배열의 장점
          * 배열을 사용한 학생의 점수계산 프로그램
         배열을 처음으로 배워 사용법을 익혔으며 배열을 사용하던중 모든 값들을 초기화 해주어야하며
  • 새싹교실/2012/강력반 . . . . 4 matches
         1.visual studio 사용
         상황에 따라 프로그램을 다 만들기 귀찮으므로 사용
         같은 작업을 계속 하기 위하여 사용
         반복문을 사용한 기본적인 예제
  • 새싹교실/2012/사과나무 . . . . 4 matches
         처음보는 운영체제라던가, 아직은 생소할 커맨드라인 프로그램 사용이라던가
         과제로는 printf()와 scanf()의 사용법을 정리해오는 것을 주었습니다.
          * 오늘은 이소라때리기라는 게임을 했다. 새 강사님과 시작을 해서 어려울 줄 알았는데 정말 친절하게 가르쳐주셨다. 알고리즘대로 구동되는 프로그램이 신기했다. 지난시간보다 더 많은 예약어를 이용했고, rand()라는 것도 사용했다. 가장 신기했던 것은 k와 p를 아닌 다른 문자를 이용했을 대 default문장이 나와 k와 p를 누를 수 있게 유도해준 것이다. 지난시간과 달리 조금 더 긴 프로그램을 짜봤는데 만들어져가는 과정이 눈으로 확인되니까 조금 더 욕심을 내보고 싶다. 앞으로 2탄을 더 복잡하게 만들고 싶다. - [김도익]
          } //두 가지 방법을 사용했기 때문에 처음의 코드는 주석처리를 했다.
  • 새싹교실/2013/양반/3회차 . . . . 4 matches
         제어문을 사용하면 이 문장이 실행 되는 순서를 내 맘대로 제어할 수 있다.
         if문 내에 if문을 또 사용할 수도 있다. 중첩된 if문이라고 한다.(nested if)
         문자형을 포함하여 정수형 수식만 사용할 수 있다.
         수식 3 - 조건식에 사용된 변수를 증가시키거나 감소시키기 위한 식으로 루프의 각 반복후 실행
  • 시간맞추기 . . . . 4 matches
          * 무한루프 for 사용
          * time() 라이브러리 함수 사용.
          * kbhit()함수 사용. - 사용자가 아무키나 눌렀는지 안눌렀는지 알리는 함수.
  • 위키설명회 . . . . 4 matches
          * 현재 위키가 사용되는 곳들을 예시하고 (한국 Gnome 사용자 모임, 데비안 사용자 모임, kldp ) 일정 주제에 대한 자료 찾거나 서핑의 시간 (20~60분) 가진후 서로다른 쓰임새에 대하여 토의해 본다.
          * 지금 사용자들도 모를? 페이지의 암묵적, 명시적 규칙에 대하여 서핑을 통해 찾기를 해본다. 보물 찾기하듯 상품을 주는것도 좋을것 같다. (연필, 지우개 등 :) )
  • 위키설명회2005 . . . . 4 matches
         제로페이지의 활동에 큰 축이 되지만 첫 진입에 어려움을 겪는 위키를 설명하고 사용해보며 자연스러운 진입을 유도하는 자리.
          신입생한명이 한개의 피씨를 사용한다.
         Wiki는 ZeroPage 모든 활동에 사용되어 Wiki없는 ZeroPage는
         뿐만 아니라 Wiki에 담겨있는 철학과 사용법을 알게 되신다면
  • 임베디드방향과가능성/정보 . . . . 4 matches
         이제 제 개인적인 생각을 말씀드리죠. 먼저 임베디드 시스템이 쓰이는 용도에 대해 조금 시야가 좁으신 것 같습니다. 적어도 집에 PC가 설치되어 있는 곳에서 손쉽게 PC로 할 수 있는 일은 절대로 임베디드 기기로 나오지 않겠죠. 그리고 임베디드 기기에 "하드 달고 모니터 달고 USB니 뭐니 다 달고나면.."을 하면 절대 안됩니다. 이러면 이미 임베디드 기기가 이니고 general한 pc입니다. 임베디드 기기는 말그대로 application specific, implementation specific한 경우에만 그 의미를 가지죠. 이러한 분야는 적어도 당분간은 general한 tool(님 말씀처럼 visual한 tool들)이 사용될 수 없습니다. 그리고 최근 유행하는 embedded linux의 경우는 더 요원하죠.
         둘째로 기술적으로 말씀드리죠. pc의 경우는 application만 하면 됩니다. 그 좋은 visual tool들이 hw specific한 부분과 커널 관련한 부분은 다 알아서 처리해 줍니다. 하지만 임베디드 분야는 이 부분을 엔지니어가 다 알아서 해야 하죠. pc의 경우 windows를 알 필요없지만 임베디드 엔지니어는 os kernel을 만드시 안고 들어가야 합니다. 이 뿐만 아니라 application specific/implementation specific하기 때문에 해당 응용분야에 대한 지식도 가지고 있어야 하며/ 많은constraint 때문에 implementation 할 때hw/sw에 관한 지식도 많아야 하죠. 경우에 따라서는 chip design 분야와 접목될 수도 있습니다.(개인적으로 fpga 분야가 활성화 된다면 fpga도 임베디드와 바로 엮어질거라 생각합니다. 이른바 SoC+임베디드죠. SoC가 쓰이는 분야의 대부분 곧 임베디드 기기일 겁니다. ASIC도 application specific하다는 점에서 임베디드 기기와 성질이 비슷하고 asic의 타겟은 대부분 임베디드 기기입니다.) 대부분의 비메모리 반도체칩은 그 용도가 정해져있으며, 비메모리 반도체를 사용하는(혹은 설계하는 사람)을 두고 임베디드 엔지니어라 할 수 있죠. 사실 임베디드는 범위가 매우 넓기 때문에 한가지로 한정하기 힘듭니다.
         복사기의 경우는 OA기기가 주로 사용되는 곳이 사무실이고 이 경우에는 복사의 편리성을 위해 복사기에 PC가 임베디드 되었다고 해야 옳겠죠.(이 경우 pc가 임베디드시스템이 된 것이군요(?)..)
         그리고 과거에도 CPU를 사용하여 제품들을 제어하는 업무가 많았는데.. 그것을 운영하는데 인터럽트나..무한루프를 이용하여 제어를 한 반면에..요즘에 임베디드 시스템이라고 하는것들은 간단한 운영체계를 도입한게 다른데.. 이것도..별것 아닌데.. 왜 임베디드 엔지니어니..뭐니떠드는지 잘 모르겠습니다. 그냥 마이크로 프로세서를 이용하는 땜쟁이들이 기본으로 익혀야할.. 노가다이고... 핵심 부품 예를들면 ARM7의 코어부분등은 핵심기술을 가진 회사에서 독점하고있어서..그걸 이용해서 칩을 파는 업자나.. 프로그래밍짜는 엔지니어나..그냥.. 그들의 하수인에 불과할수도 있겠네요..요즘에는 임베디드 OS도 객체지향을 이용하고.. 그래픽 라이브러리들이 잘 나와있어서 WIN CE나 윈도우즈에서 제어용 프로그래밍 짜는 수준의 단순노가다로 넘어가고있는 추세입니다.. 하여간에 이것도 다들 하니까.뭐.. 별 영양가 없는것 같습니다.. 모 업체에서.. 벼레별거 다할수있는 기술적인 능력이있는데.(암9보드에 하드도달고 액정도달고..달수있는것 다 달고..) 막상 그 보드를 만들어놓고 쓸데가 없답니다. 요즘 추세를 보니까..몇년전까지도 고급기술자의 업무였던.. PC에서 기계제어하는것들도..이젠 전문대졸업자나..고졸자가 주로하는 일이 되어버렸더군요.. 제 생각에는 미래에는 엔지니어가 그다지 많이 필요하지는 않을것 같습니다. 소수의 천재들이.. 프로그래밍 제네레이터.. 임베디드 칩 제네레이터 만들어서.. 가상현실상에서..뚝딱 뚝딱 맞추면.. 결과물이 떡하니.그냥 나와버리는 시스템이되고.. 다른 대부분의 경우에는 시스템이 거의모든 상황을 커버할만큼 고성능이되어버려서..별 예외조치에대한 필요성이 없는것이죠.. 엔지니어링 분야도..워드프로세서가 지구상에 몇개 안되는걸로 다 카바되는것처럼..그리될거같고.. 하여간에.. 기술분야에서도 극빈층에 속하는 재화를 소비만 하는 덧샘 뺄샘도 모르는 대다수의 사람과..극소수의 모든것을 다 할수있는 초기술을 가진 과학자들의 두가지 집단만이 살아남을듯 하네요.. 아마도 그런 과학자들에 의해 사육되겠지요...
  • 정모/2011.5.2 . . . . 4 matches
          * 프로젝트 지원서를 작성하여 캡스톤 설계실 사용 신청을 해 주세요.
          * 프로젝트 이외의 용도로 사용하는 것을 자제해 주세요.
          * 팀원 모두 ZeroPager가 아니면 그건 ZeroPage 할당된 공간을 쓸건 아니고 따로 교수님께 연락드리거나 해서 공간을 할당받아야 할 듯. ZeroPager와 비 ZeroPager가 한 팀이라면 ZeroPager가 대표가 되어 프로젝트 지원서를 작성하고 임원진에게 제출하면 사용할 수 있어~ - [김수경]
          * 늦은 후기~ 항상 한두주 뒤에 후기를 쓰는듯하네요.. 이번 정모에서는 공모전등 여러 활동에 대한 공유가 있었습니다. 유용한 정보를 나누어 보기가 좋았습니다. 그냥 그런게 있군 하고 넘어가지 마시고 (안친해도)옆사람 찔러서 같이 공모전 나가보세요!! 제로페이지의 인력풀을 사용하시길 바랍니다ㅎㅎ 프로젝트 공유도 해주시고, 제로페이지를 빛내는 기회기도 하네요. 계속해서 이렇게 공유하는 지피가 되었으면 좋겠어요~ - [서지혜]
  • 제13회 한국게임컨퍼런스 후기 . . . . 4 matches
          * 세 번째 세션 Autodesk는 자신의 툴을 어떻게 사용하는지에 관한 이야기가 주였다. 이건 익숙해 지는 것이 관건인 듯..
          * 3일차에는 1일차에 그래픽 부분을 들으면서 프로그래밍과 큰 연관성을 찾지 못한 까닭에 프로그래밍 위주로 찾아 다니기로 했다. 하지만, 원래 들으려고 했던 ‘좋은 게임을 최고로 만들어 주는 요소 분석’ 파트를 들으려 했으나 갑자기 잠수를 타 버리는 바람에 급하게 언리얼 엔진 주제 쪽으로 넘어갔다. 모바일 게임과 관련한 이야기를 하면서 온라인 게임과는 비용, 기간 등 많은 차이가 발생하는 것에 대해서 이야기 했다. 그러면서 아티스트들은 제발 쓸데없는 자존심 버리고 게임이 잘 돌아가게 해 달라는 요구를 하시던.. 하기야 콘솔 게임 정도 되어야 그래픽에 많은 부분 신경 쓸 수 있겠다만 모바일은 화면도 작고 하니.. 라는 생각이 들었다. 결국 메모리를 줄이기 위해 Object를 나누어 Module 사용을 해라는 이야기로 마무리 지어졌다.
          * 세 번째 세션은 또 음악의 세계로... 역시나 자기네 회사 프로그램을 사용하면 사운드 효과를 다양하게 낼 수 있다는 것에 대해서 이야기 해 주었다. 뭐 Chaining 관계를 이용한 소리의 조합이라나 뭐라나..
          * 마지막 세션은 NVDIA와 Visual Studio를 연계해서 디버깅하는 것에 관해 이야기를 했는데.. 보여주면서 하긴 했는데 뭔 내용이 이렇게 지루한지..; 전반적인 NVIDA 소개와 필터 버그 등 버그가 발생하였을 때 픽셀 히스토리 기능으로 추적해서 셰이더 편집기능으로 수정하는 등 버그를 어떻게 고치는지, 툴은 어떻게 사용하는지에 대한 이야기가 주였다.
  • 중앙도서관 . . . . 4 matches
         하지만, 현재의 도서관 시스템은 사용하면 할 수록 불편한 시스템이다. "Ease of Learning"(MS 워드)과 "Ease of Use"(Emacs, Vi) 어느 것도 충족시키지 못한다.
         지금 도서관의 온라인 시스템은 상당히 오래된 레거시 코드와 아키텍춰를 거의 그대로 사용하면서 프론트엔드만 웹(CGI)으로 옮긴 것으로 보인다. 만약 완전한 리스트럭춰링 작업을 한다면 얼마나 걸릴까? 나는 커스터머나 도메인 전문가(도서관 사서, 학생)를 포함한 6-8명의 정예 요원으로 약 5 개월의 기간이면 데이타 마이그레이션을 포함, 새로운 시스템으로 옮길 수 있다고 본다. 우리과에서 이 프로젝트를 하면 좋을텐데 하는 바램도 있다(하지만 학생의 사정상 힘들 것이다 -- 만약 풀타임으로 전념하지 못하면 기간은 훨씬 늘어날 것이다). 외국의 대학 -- 특히 실리콘벨리 부근 -- 에서는 SoftwareEngineeringClass에 근처 회사의 실제 커스터머를 데려와서 그 사람이 원하는 "진짜" 소프트웨어를 개발하는 실습을 시킨다. 실습 시간에 학부생과 대학원생이, 혹은 저학년과 고학년이 어울려서(대학원생이나 고학년이 어울리는 것이 아주 중요하다. see also NoSmok:SituatedLearning ) 일종의 프로토타입을 만드는 작업을 하면 좋을 것 같다. '''엄청나게''' 많은 것을 배우게 될 것이다. --JuNe
         사용자는 이 랩퍼를 통해 로긴을 하고, 책 평가도 하고, 리뷰도 쓰고, 베스트셀러 검색도 하고, 대출 예약도 한다. 기존 시스템의 모집합이 되는 셈이다. (하지만 꼭 그럴 필요는 없다. 중요하고 자주 쓰이는 기능만 노출해도 충분하다)
         일단 이걸 만든 사람들이 열심히 사용하다가, 우리과 사람들이 점점 더 쓰고, 나중엔 다른 과 학생들까지 쓰다보면, 혹시 모르잖는가. 정말 이런 시스템으로 도서관을 바꿀 생각을 정책입안자들이 하게 될지.
  • 지영민/ㅇㅈㅎ게임 . . . . 4 matches
          puts("나(은)는 몸통박치기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 튀어오르기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 단단해지기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 수강취소를 사용했다!");Sleep(TURN_GAP);
  • 최소정수의합 . . . . 4 matches
          * while이나 do ~ while을 사용.
          - 이거.. 꼭 이 조건을 만족해야만 하는건지.. 루프를 사용하면 꼭 while 이나 do .. while 을..? for 는 안되고요..? 그럼 for loop 가 없는 언어로는.. 못푸는건가.. -_-. 글고 루프를 쓰지 않으면 안되는건가요..? ^^; - [아무개]
          - loop를 쓰는 방법 말고 부등식을 사용하는게 젤 간단할것 같아서 그렇게 했는데, 문제에서 제시된 조건을 반드시 만족해야 하는가 해서요 ㅠㅠ - 임인택
          - 괜찮습니다. 사용하는 언어에서 만족될 함수 등등..을 써서 알아서 프로그래밍 하시면 됩니다. 하지만 처리조건을 만족할 수 있는 언어는 그렇게 프로그래밍 해주시길 바랍니다.
  • ACM_ICPC/2012년스터디 . . . . 3 matches
          * 문제를 지정해서, 풀어오고, 분석. (Programming Challenges와 더블릿 홈페이지 사용)
          * 우선 [www.dovelet.com 더블릿] 사용
          * [koi_aio/김윤환] '''//이거랑 푼거 더 올리고싶은데... 영기처럼 올리는거 어떻게 함요? ㅠㅜ 위키 사용법을 모르것소 살려줍매!'''
  • AOI/2004 . . . . 3 matches
         예를 들어, X라는 문제를 풀어봤는데 그 문제는 Y라는 알고리즘을 사용하면 쉽게 풀리는 것이었다, 하지만 그 착상을 빨리 하지 못해서 시간도 오래 걸리고 고생했다. 뭐 이런 경험을 했다면, 이 문제를 풀어서 얻은 구체적 지식을 잠시 무시하고, 이 문제를 처음 만났을 때 어떻게 Y라는 알고리즘을 사용할 수 있다는 착상에 빨리 도달할 수 있을런지 연구해 봅니다. 문제를 푼 후에 얻은 지식을 사용하지 않아야 합니다. 방법을 찾았으면 그 방법을 적용해서 다시 풀어봅니다. 그 방법이 다른 유사 문제에도 적용이 되는가요?
  • BasicJava2005/5주차 . . . . 3 matches
          - 사용자가 직접 Exception을 작성할 수 있다.
          throws : 이 함수에서는 예외처리 하고 싶지 않을때 사용한다.
          throw : 임의로 예외를 발생시키고자 할 때 사용한다.
  • Bigtable/DataModel . . . . 3 matches
          1. 저장공간의 재사용 : 커밋로그는 원형 자료구조를 사용하여 자동으로 공간을 재사용하도록 한다.
  • C++스터디_2005여름/도서관리프로그램 . . . . 3 matches
         도서관리프로그램에 책을 등록할 수 있다. - 이 때, 책 이름, 저자, ISBN을 사용자로부터 입력을 받아 새로 구입한 책의 정보를 입력하게 한다.
         책을 대여할 수 있다. - 사용자가 책 이름 또는 ISBN 을 입력하면 책을 대여해 준다.
         책을 반납할 수 있다. - 사용자가 책 이름 또는 ISBN 을 입력하면 책을 반납하게 한다.
  • CNight2011/윤종하 . . . . 3 matches
          * 사용
          * typedef 미사용
          * typedef 사용
  • CPPStudy_2005_1/Canvas . . . . 3 matches
          * list 사용
          * map 사용
         === 클래스 사용 예 ===
  • CVS . . . . 3 matches
         || ["CVS/길동씨의CVS사용기ForLocal"] || WinCVS 설치 전제, CVS를 처음 접하는 사람이라면, Local을 이용해서 감을 잡으세요. ||
         || ["CVS/길동씨의CVS사용기ForRemote"] || WinCVS 설치 전제 ZeroPage CVS를 ||
          * 원인: 어떠한 이유에 의해, cvs를 실행하는 환경이 cvs 사용자와 다를 경우 혹은 권한이 없을 경우 발생한다.
  • CppStudy_2002_1/과제1/CherryBoy . . . . 3 matches
          cout << "당신은 출력 함수를 " << count << " 번 사용하셨습니다.\n";
         //함수는 사용자에게 이름과 핸디켑을 요구한다
         //함수는 전달인자로 전달된 값들을 사용하여
  • CppStudy_2002_1/과제1/Yggdrasil . . . . 3 matches
          //사용자의 임의 입력
         //함수는 사용자에게 이름과 핸디캡을 요구한다
         //함수는 전달인자로 전달된 값들을 사용하여
  • DPSCChapter3 . . . . 3 matches
          그리고 모든 faimily에서 같은 코드를 사용해서 부분들을(엔진,변속장치..) 얻는 것을 사용한다.
          다형성의 힘 때문에, 클라이언트는 코드 구현을 한번만 하면된다. ABSTRACT FACTORY PATTERN을 사용하지 않을 경우, 자동차 생성 코드는 다음과 같이 보일 것이다.(아주 비효율적인 코드)
  • DebuggingSeminar_2005/DebugCRT . . . . 3 matches
         || _CRTDBG_CHECK_CRT_DF || 내부적으로 사용되는 메모리가 디버그작업을 하는 동안 추적된다. ||
         MFC에서는 기본적으로 로드하지만 콘솔에서는 사용자가 직접 지정을 해줘야 로드한다.
          동적 멤버변수를 사용하는 경우에는 대입, 할당 생성자, 소멸자를 반드시 만들어야한다.
  • DesignPatterns/2011년스터디/1학기 . . . . 3 matches
          1. DIP에서 의존관계 역전이 대체 무엇을 역전시킨다는 것인지 알게되었다. 기존에는 Highlevel 모듈이 Lowlevel 모듈에 의존하는 식이었지만 인터페이스를 사용하여 Lowlevel 모듈이 Highlevel이 제공하는 인터페이스에 의존하게 함으로써 설계를 더 유연하게 만들 수 있다.
          1. 무엇이든 생각없이 받아들이지 말고 장점과 단점을 모두 생각한 후에 지금 사용하기 적절한지 판단하고 적용하라는 아주 중요한 메세지가 반복되어 나온다. 다시 한번 되새기는 시간이 되었다.
          1. CRC 모델링에 대해 설명하는 부분에 '''도메인 영역의 언어로 문제를 기술하라'''는 말이 인상적이었다. get과 set을 사용할 필요가 없다는 걸 와닿게 하는 말이었다. 언젠가 정모에서 ''체험 OO 현장''같은 활동을 해보고 싶음. 우리 모두 객체가 되어보아Yo :)
  • DevPartner . . . . 3 matches
         = 간단한 사용법 =
         2. 사용
         * 간단 사용법 :
  • DirectVariableAccess . . . . 3 matches
         초기화처럼 변수에 접근하는 방법도 큰 이슈 중 하나였다. 이것에도 두가지 방법이 있는데, 역시 패턴의 존재 이유처럼, 하나는 유연성, 또 다른 하나는 가독성이다. 첫번째 방법은 모든 변수를 직접 접근하는 것이다. 다른 하나는, 항상 메세지를 보내는 것이다.(setter,getter를 사용한다.)
         와드 아저씨의 말로는, '클래스에 아주 적은 양의 메소드만 존재한다면, getter/setter를 추가하는 것만으로도 메소드의 수가 두배가 되어버린다. 이는 전혀 사용되지 않을 유연성을 위해 쓸데없이 갯수를 늘린 것이다.' 라고 한다.
         하지만 이 클래스가 상속이 될 가능성이 있다면, setter/getter를 오버라이딩 해서 사용할수 있으므로, IndirectVariableAccess를 쓰는 것이 괜찮다.
  • Eclipse/PluginUrls . . . . 3 matches
          * ["Subversion"]을 사용할 수 있게 해 주는 Plugin
          * Memory 사용정보를 보여주고 ["GarbageCollection"]을 사용가능하게 해 주는 Plugin, 시간을 설정해두면 주기적으로 알아서 GC를 해줌.
  • FileZilla . . . . 3 matches
         [임인택]이 사용하는 오픈소스 ftp 클라이언트. 그 전에는 alftp을 주로 사용했는데, 사용했던 시기가 alftp 가 약간 불안하게 동작했던 시기라서 아예 FileZilla로 전환했다. 기본적인 ftp 프로토콜 외에도 sftp 프로토콜까지 지원한다. 2.2.7 버전대로 올라오면서 한글까지 지원하여 이제는 더없이 좋은 ftp 클라이언트가 되었다. 그 외에도 편리한 사이트 매니저 기능등을 제공하지만 로컬 디렉토리를 브라우징할때 약간 불편한 면이 있다.
  • Gof/Composite . . . . 3 matches
         드로우 에디터나 회로설계 시스템과 같은 그래픽 어플리케이션은 단순한 컴포넌트들의 차원을 넘어서 복잡한 도표들을 만들어내는데 이용된다. 사용자는 더 큰 컴포넌트들을 형성하기 위해 컴포넌트들을 그룹화할 수 있고, 더 큰 컴포넌트들을 형성하기 위해 또 그룹화 할 수 있다. 단순한 구현방법으로는 Text 나 Line 같은 그래픽의 기본요소들에 대한 클래스들을 정의한 뒤, 이러한 기본요소들에 대해 컨테이너 역할을 하는 다른 클래스에 추가하는 방법이 있다.
         하지만, 이러한 접근방법에는 문제점이 있다. 비록 대부분의 시간동안 사용자가 개개의 객체들을 동일하게 취급한다 하더라도, 이러한 클래스들을 이용하는 코드는 반드시 기본객체와 컨테이너 객체를 다르게 취급하여 코딩해야 한다는 점이다. 이러한 객체들의 구별은 어플리케이션을 복잡하게 만든다. CompositePattern은 객체들에 대한 재귀적 조합 방법을 서술함으로서, 클라이언트들로 하여금 이러한 구분을 할 필요가 없도록 해준다.
         RTL Smalltalk 컴파일러 프레임워크 [JML92] 는 CompositePattern을 널리 사용한다. RTLExpression 은 parse tree를 위한 Component 클래스이다. RTLExpression 은 BinaryExpression 과 같은 서브클래스를 가지는데, 이는 RTLExpression 객체들을 자식으로 포함한다. 이 클래스들은 parse tree를 위해 composite 구조를 정의한다. RegisterTransfer 는 프로그램의 Single Static Assignment(SSA) 형태의 중간물을 위한 Component 클래스이다. RegisterTransfer 의 Leaf 서브클래스들은 다음과 같은 다른 형태의 static assignment 를 정의한다.
  • Hacking/20041028두번째모임 . . . . 3 matches
         === nmap 사용하기 ===
          기본 사용법) nmap ip주소
          사용예) nmap -v -sS ip주소
  • HelpOnFormatting . . . . 3 matches
         그리고 이러한 포매팅을 ''있는 그대로'' 보여주기 위해 ` {{{ }}} ` 중괄호 세개를 연달아 사용하는 문법이 있습니다.
         위키위키 문법을 무시하게 하기 위해서 중괄호 세개를 {{{ {{{이렇게}}} }}} 사용하게 되면 글꼴이 고정폭 글꼴로 보여지게 되며 ({{{monospace font}}}) 만약에 이 문법을 여러 줄에 걸쳐 사용하게 되면, 중괄호 블럭의 모든 공백이 보호되어 프로그램 코드를 직접 삽입하여 보여 줄 수 있습니다.
  • HowToStudyDataStructureAndAlgorithms . . . . 3 matches
         그리고 마지막으로, 자료구조/알고리즘 공부를 할 때에는 가능하면 실질적이고 구체적인 실세계의 문제를 함께 다루는 것이 큰 도움이 됩니다. 모든 학습에 있어 이는 똑같이 적용됩니다. 인류의 지성사를 봐도, 구상(concrete) 다음에 추상(abstract)가 오고, 인간 개체 하나의 성장을 봐도 그러합니다. be 동사 더하기 to 부정사가 예정으로 해석될 수 있다는 룰만 외우는 것보다, 그러한 다양한 예문을 실제 문맥 속에서 여러번 보는 것이 훨씬 나은 것은 자명합니다. 알고리즘/자료구조 공부를 할 때 여러 친구들과 함께 연습문제(특히 실세계의 대상들과 관련이 있는 것)를 풀어보기도 하고, ACM의 ICPC 등의 프로그래밍 경진 대회의 문제 중 해당 알고리즘/자료구조가 사용되는 문제를 -- 이게 가능하려면 "이 알고리즘이 쓰이는 문제는 이거다"라는 가이드를 해줄 사람이 있으면 좋겠죠 -- 같이 풀어보는 것도 아주 좋습니다.
         우리는 알고리즘 카탈로그를 배운다. 이미 그러한 해법이 존재하고, 그것이 최고이며, 따라서 그것을 달달 외우고 이해해야 한다. 좀 똑똑한 친구들은 종종, "이야 이거 정말 기가막힌 해법이군!"하는 감탄을 외칠지도 모른다. 대부분의 나머지 학생들은 그 해법을 이해하려고 머리를 쥐어짜고 한참을 씨름한 후에야 어렴풋이 왜 이 해법이 그 문제를 해결하는지 납득하게 된다. 그리고는 그 "증명"은 책 속에 덮어두고 까맣게 사라져버린다. 앞으로는 그냥 "사용"하면 되는 것이다. 더 많은 대다수의 학생은 이 과정이 무의미하다는 것을 알기 때문에 왜 이 해법이 이 문제를 문제없이 해결하는지의 증명은 간단히 건너뛰기를 한다.
         이런 학생들이 주어진 알고리즘을 사용하는 소위 "객관식" 혹은 "문제출제자"가 존재하는 시험장 상황 하에서는 뛰어난 성적을 보일것임은 자명하다. 하지만 스스로가 문제와 해답을 모두 만들어내야 하는 상황이라면, 알고리즘을 완전히 새로 고안해내야 하는, 또는 기존 알고리즘을 변형해야 하는 대다수의 상황이라면 어떨까?
  • HowToStudyXp . . . . 3 matches
          * XP in Practice (Robert C. Martin et al) : 두 세 사람이 짧은 기간 동안 간단한 프로젝트를 XP로 진행한 것을 기록. Java 사용. (중요한 문헌은 아님)
         기회가 되신다면 주변에서 XP를 직접 사용하는 곳을 방문해서 하루만 같이 생활해 보시기를 권합니다. 반년 공부를 앞당겨 줄 수 있습니다.
         나중에 회사에서 직접 XP를 사용할 때 많은 도움이 되었습니다.
  • IsbnMap . . . . 3 matches
         IsbmMacro에서 사용하기 위해 다음과 같은 방식으로 ISBN을 등록하실 수 있습니다.
          IsbnMap 에서 map 을 분리해서 사용하는 방법이 있을 수 있고 - 이 경우 출판년도에 따라서 옵션을 달리 줘야 하는 불편함이 있습니다. - ISBN 매크로를 고쳐서 (가능하다면 jpg가 없을 때 gif를 찾는 어떤 로직을 넣는 방법이 있을지 않을까 하는 생각이 듭니다. 제가 coding에 능력이 전혀 없는지라, 이게 구현할 수 있는 방법인지는 모르겠지만 논리적 차원에서는 이게 사용자 정신건강에 이로운 해결책이 아닐까합니다. (제 위키에서 책목록을 관리하는데 수작업으로 바꿔 줄 생각을 하니 조금 끔직합니다. - 스크립트를 돌려도 되기는 하지만 ... )
  • JavaStudy2002/진행상황 . . . . 3 matches
          * 11/14(목) 오후 1시 - TDD Airport ( See Also ["VonNeumannAirport"]), ["Eclipse"]사용, ["CVS"] 사용
          * 11/21(목) 오후 1시 - Airport 다시 공지, ["CVS"] 사용법, TDD 토론, 질문 답변
  • JavaStudy2004/클래스상속 . . . . 3 matches
          * 다른 클래스에 공통적인 정보를 추출해서 상위클래스에 넣고 하위클래스에서 다시 사용하도록 한다.
          * 생성자나 메소드에 상관없이 사용가능해요
          예를들면 위 circle 클래스의 getName 메소드에서 사용한 것처럼요 super.getName() 이렇게 --[iruril]
  • LIB_1 . . . . 3 matches
         이건 사용자 태스크인 태스크1 이다.
          LIB_create_task("task1\n",60,task1,&TaskStack1[256]); // 사용자 태스크 1을 만들어준다.
          LIB_create_task("task2\n",59,task2,&TaskStack2[256]); // 사용자 태스크 2를 만들어준다.
  • LUA_2 . . . . 3 matches
         루아는 특이하게 복수 대입을 사용할 수 있습니다. 예를 들면 첫번째 변수에는 '=' 이후 첫번째 값을 두번째 변수에는 두번째 값을 대입하는 방식으로 사용할 수 있습니다.
         이제는 기본 사칙 연산과 비교 연산자를 사용하는 예제를 보겠습니다.
  • LUA_4 . . . . 3 matches
         함수는 사용하기에 따라 변형할 수 있는게 많아서 천천히 다양한 방법을 설명하겠습니다. 대신 변수의 범위(scope)에 대해서 간단하게 예제로 살펴 보겠습니다.
         변수 범위는 이 밖에도 다양한 이슈를 만들 수 있습니다. 예를 들면 do ~ end 문에서도 local 로 범위를 한정할 수 있고 function 자체도 변수와 같이 범위(scope)를 한정하여 사용할 수 있습니다. 또한 local을 사용하지 않으면 전역 범위 내에서 변수나 함수 자체를 접근/변경할 수 있습니다.
  • MFCStudy_2002_1 . . . . 3 matches
         || 7/15(월) || Visual C++ 사용. 메세지 구동방식 발표및 점검. 객체지향이란? 오목의 자석효과 구현, 기능의 모듈화. || 오전 11시 모임. 첫 모임 ||
         아아~ 오목을 짜는데~~전에는 무식한 방법으로 돌을 하나 놓을때마다 판 전체를 검색하는...방법을 사용했는데..[[BR]]
         그리고 중간 중간에..함수를 만들어서 사용하고 싶은데...전달인자로 뭘 받아야하는지도 잘모르겠고..^^a[[BR]]
  • Metaphor . . . . 3 matches
         시스템 메타포를 선정하면 같은 팀내에서 클래스와 메소드의 이름을 일관적으로 정할수 있어 공감대를 형성할 수 있다. (즉 하나의 메타포를 선정하여 공유하면 변수 이름같은 것을 지을때 같은 관점으로 짖게 된다는 의미). 어떤 객체에 대한 이름을 정하는 것은 시스템 전체를 이해하거나 코드를 재사용하는데 매우 중요하다. 만약 메타포를 올바르게 정한다면, 이름이 어떻게 정해지는가를 추측할 수 있게되고 실제로 개발 시간을 크게 절감시켜준다. 구축할 객체에 대한 이름을 위한 시스템(즉 메타포)를 결정할때는 모든 사람이 해당 시스템에 대하여 특별한 지식이 없이도 쉽게 연관되어 질수 있는 것으로 선택해야 한다. 예를 들어 크라이슬러의 지불시스템은 생산라인으로 구축되었다. 포드의 자동차 영업사원들은 BOM(부품표)으로 구조화 되었다. 구축하려고 하는 분야의 메타포를 사용할 수도 있다. 그러나 충분히 단순하지 않다면 영영에 해당하는 메타포를 사용하지는 말아라.
  • MockObjects . . . . 3 matches
         사용 예1) 여러 사람이 프로그래밍 할때, 독립된 프로그램이 아닌 모듈별로 프로그램을 만들고 있는 경우. 이럴때 해당 모듈을 작성하고 테스트 코드를 만들려고 해도, 다른 모듈의 의존성 때문에 진행이 어렵게 된다. 아직 완성되지 않은 의존성을 가진 모듈을 MockObject로 만듬으로서 해당 모듈을 만드는 동안의 의존성문제를 해결할 수 있다.
         사용 예2) Datatbase 와 관련된 프로그래밍에 대해서 UnitTest를 할때, DB Connection 에 대한 MockObject를 만들어서 DB Connection을 이용하는 객체에 DB Connection 객체 대신 넣어줌으로서 해당 작업을 하게끔 할 수 있다. 그리고 해당 함수 부분이 제대로 호출되고 있는지를 알기 위해 MockObject안에 Test 코드를 넣어 줄 수도 있다.
         === 어떻게 구현하고 사용할까 ? ===
  • ModelingSimulationClass_Exam2006_1 . . . . 3 matches
         (a) (5 points) 스케쥴 표 주고..(이번에는 Single Queue, Single Server) 이 시뮬레이션에서 사용되는 상태와 이벤트에 대해 쓰시오.
         1) 나의 경우 해당 문제를 간단한 확률 모델 + Single Queue, Multi Server 의 문제로 파악했다. 확률모델은 1차 합격자를 가리는데 쓰이고, SQMS모델은 실기 시험을 가리는데 사용하고, 가정으로 실기 시험은 7분을 최고 점으로갖는 Triangle Distribution 이라고 가정하고 풀이했음.
         2) 부족한 시간, 랜덤함수를 사용할 수 없는 상황이라는 점을 말하고, TD 의 기대치를 구했다. 대충 구해보니 7.55 분가량이 소요된다는 사실을 알았다. (좌우 대칭형으로 가정했기 때문에... -_-) 따라서 한 패거리의 실기 시험합격자의 최대 인원은 40명 소요되는 시간은 총 5시간이지만 SQMS 모델이 큐잉에서 최대의 효율을 발휘 할 수 있으므로, 양쪽의 서버에 반씩을 나누어서 시험을 보면 2시간 반가량이 필요하다고 판단. 필기가 종료되는 시간은 10:00 + 2:30. 14:00 + 2:30 따라서 당일의 시험이 완전히 종료되는 17:00 분 안에 시험을 끝낼 수 있기 때문에 해당 모델은 안정하다고 적긴적었다. -_-;;
  • MultiplyingByRotation . . . . 3 matches
         물론 이러한 속성은 사용하는 수체계에 따라 다르다. 위의 예제에서는 10진수를 사용했다. 9진수에서의 에는 다음과 같다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • NUnit/C++예제 . . . . 3 matches
          * 예제는 아무 생각없이 만들었고, 테스트 할 필요도 없는 거지만.. 그냥 사용법을 보는 거니까 신경쓰지 마세요.
         === MFC에서 사용하기 ===
         Unmanaged C++에서 가장 좋왔던 방법은 Unmanaged C++ Project 두개를 만들어서, 한쪽으로 의존시킨후 assert 를 이용해 자체적인 Test Framework 을 작성해서 사용하는 방법이었다.
  • OurMajorLangIsCAndCPlusPlus/print . . . . 3 matches
         printf, scanf 계열의 함수 사용 금지
         C++ 라이브러리 사용 금지
         출력은 fputchar, fputs 등 사용
  • PascalTriangle . . . . 3 matches
          // 2개의 배열을 사용하여 계산을 한다
          // 그 배열을 사용해 3행을 계산해 나머지 배열에 저장하고
          // 다시 3행이 저장된 배열을 사용해 4행을 계산해서
  • Postech/QualityEntranceExam06 . . . . 3 matches
          1. 알고리즘 시그마 1~ i4 까지 타이트를 로우 빅오 사용하여 증명
          6. 1~3개 문제 펌핑 렘마 사용하여 증명 혹은 오토마타로 그려서 regular 에 속한다고 증명 하기
          2. 외부 단편화는 무엇이며 TLB 를 사용하여 어떻게 해결? 그리고 내부 단편화와 외부 단편화 대조,,
  • PracticeNewProgrammingLanguage . . . . 3 matches
         모두 사용해보는 역할이 주요함.
         2. 스트링 입력 : 사용자의 키보드 입력을 통해 문자열을 입력받아 다시 출력하는 프로그램을 작성하시오.
         6. 스트링 검색 : 특정 텍스트 파일을 열고, 사용자가 입력한 스트링을 검색할 수 있는 프로그램을 작성하라.
  • PragmaticVersionControlWithCVS/Getting Started . . . . 3 matches
         CVS서버 설치는 알아서 잘해라. -_-; 리눅스에서는 패키지로 설치하면 되고, 윈도우에서는 알아서 받아서 설치하면 된다. 이미 서버가 있으면 더 좋다. 내 경우에는 데비안 리눅스를 사용하는 관계로 apt-get install cvs로 간단히 설치를 끝냈다.
         -m " " 프로젝트를 임포트할때 기록할 메시지임. (서드파티 코드를 사용하는 경우에 유리하다.)
         color.txt를 위와 같이 변경한뒤에 프로프트에서 다음의 명령어를 사용해보자.
  • PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 3 matches
         이장에서는 서로 다른 의미로 사용되는 용어의 정의를 목적으로 한다.
         개발 중인 프로젝트의 모든 버전이 저장되는 장소이다. 파일 시스템, DB일수도 있으며, 어떤 경우에는 2가지를 같이 사용하기도 한다.
         이 경우 PreRelease2를 불러들이게 되면 상기의 버전의 파일들이 불러들여지게 된다. 태그는 프로젝트의 진행에 있어서 중요한 일이 발생한 시점을 기록하는 것으로 사용되는 것도 가능하다.
  • Profiling . . . . 3 matches
         순간에 얼마나 많은 사용자를 수용할수 있는가?
         사용자의 요구에 얼마나 빠른 응답을 보이는가?
         좀더 적은 메모리를, 좀더 적은 디스크의 용량을 사용할수 있는가?
  • ProjectCCNA/Chapter2 . . . . 3 matches
          * ethernet: CSMA/CD- 이더넷 통신에서 사용하는 프로토콜이다. 회선이 사용중이지 않을때 전송하고 충돌이 생기면 일정시간후 재전송한다.
          * 네트워크에 대한 표준 모델이며 실제로 사용되는것은 아니다.
  • ProjectCCNA/Chapter3 . . . . 3 matches
          * TCP/IP란 프로토콜(Protocol)의 한 종류로 인터넷을 하기 위해 꼭 필요하다. ARPANET에 의해 처음으로 개발 되었으며 TCP/IP는 인터넷을 사용하는 컴퓨터라면 어디에나 세팅이 되어 있다.
          * 인터넷을 사용하기 위해서는 IP라는 주소가 필요하며 이 주소는 2진수 32개로 4묶음씩 구성된다. 각 묶음마다 10진수로 나타내어 알아보기 쉽게 만들었다. 현재 IP 버전은 4인데(IPv4) 약 43억개의 주소를 할당 할 수 있다. 그런데 이 주소가 얼마 남지 않아서 ip 버전 6으로 대체 할 것이라고 한다.(IPv6은 2의 128개로 구성되어 있다고 함.)
          * 또 서브넷마스크를 사용할때 AND연산이 필요하다.
  • ProjectPrometheus/Iteration6 . . . . 3 matches
         || 도서관 검색 결과를 사용자 평가도에 따라 정렬하기 || . || . ||
         || 사용자 공지 || . || . ||
         || 사용자 등록 페이지 작성 || . || . ||
  • ProjectZephyrus/Thread . . . . 3 matches
          * ''Database Connection Pool 을 사용하던 하지 않던, DB 자원을 얻어오는 부분을 하나의 end point에서 처리하세요. 처음부터 이를 고려하지 않을 경우, '''*.java''' 에서 Database Connection을 생성하고, 사용하는 코드를 머지않아 보게 될겁니다. 이는 정말 최악입니다. pool을 쓰다가 쓰지 않게 될 경우는?다시 pool을 써야 할 경우는? 더 좋은 방법은 interface를 잘 정의해서 사용하고, 실제 DB 작업을 하는 클래스는 Factory 를 통해 생성하는게 좋습니다. 어떤 방식으로 DB를 다루던 간에 위에서 보기엔 항상 같아야 하죠. --이선우 [[BR]]
  • RandomWalk2 . . . . 3 matches
         ||해결자 ||개발시간 ||사용언어||Source ||
         자신이 사용한 방법과 비교해 보라. 누구의 것이 더 낫다고 생각하는가?
         몇 몇 사람들이 공통적으로 사용하는 "좋은 접근법"과 "나쁜 접근법"이 있는가?
  • ReleaseDebugBuildStartGo의관계 . . . . 3 matches
         VC++ 통합환경을 사용할 때 가장 많이 쓰게 되는 기능 중, Build->Start(CTRL+F5)와 Debug->Go(F5)의 차이점중 하나에 대해 알아 보겠습니다.
         F5는 IDE(통합환경)가 실행 프로세스를 반동결(Soft-ice)상태로 실행시켜, 사용자가 내부 변수의 값을 들여다 볼 수 있거나 중간에 멈출 수 있게 합니다. 디버깅을 할 때에 아주 중요한 역할을 하지요.
         이 두 개의 기능은 방금 설명한 것 이외에 조금 다른 실행환경을 제공합니다. 바로 "미초기화 변수의 초기화"입니다. 그리고, 이 양상은 프로그램이 릴리즈 빌드냐, 디버그 빌드냐에 따라 다릅니다. 아래와 같은 구조체와 이것을 사용한 코드(비록 한 줄이지만)있다고 가정합시다.
  • RoboCode . . . . 3 matches
         각 로보코드 참가자는 자바 언어의 요소를 사용하여 자신의 로봇을 만들면서 자바가 갖고 있는 상속성, 다형성, 이벤트 처리 및 내부 클래스 다루는 방법을 배우게 됩니다
         시간 제한 안에 로봇을 만들어내라고 했더니 아무것도 못 하는 사람도 있었다. 많은 명령어 가운데 어느 것을 사용해야 할 지 감을 못잡아서 그럴 것이란 생각이 들었다. 처음 로보코드를 접하는 사람들에게는 간단한 규칙을 정해놓고 연습해보는 시간을 가져보는 것이 어떨까? 이를테면 명령어 몇 가지만을 사용한다든지, 총 명령 개수를 제한한다든지 하는 규칙이 있겠다. --[Leonardong]
  • SRPG제작 . . . . 3 matches
          1. 맵을 편집하는 프로그램. 위에서 만든 타일들을 사용하여 맵을 만든다.
          3. MDI를 사용해 본다.
          1. 위에서 만들어진 맵과 이벤트를 사용하여 프로그래밍을 한다.
  • STL/string . . . . 3 matches
          * new - char* 로 만든 문자열은 프로그램 사용후 delete 해줘야 되지만, string은 소멸자에서 알아서 해준다. 생산성 증가!
          * STL은 이용 방법의 general 을 추구했기 때문에, 사용법이 비슷하다.
          * string 클래스라고 해서 공백을 무시할수 있는것은 아니다. 학교 교재에 보면 getline()과 get()이 나온다. string 변수로 입력을 받는다 해도 cin >>을 사용하면 공백을 입력 받을수 없다. 따라서 getline() 써줘야 한다.
  • SchemeLanguage . . . . 3 matches
          * http://www.swiss.ai.mit.edu/projects/scheme - MIT Scheme (처음 사용하기에는 매우 어려움)
          * http://www.plt-scheme.org - PLT Scheme (처음 사용자는 PLT Scheme을 적극 권장)
          * http://zeropage.org/pub/language/scheme/schemedoc.pdf - Tutorial 정도로 사용할 만한 자료
  • ServerBackup . . . . 3 matches
          * {{{/etc/group}}} 에 admin 그룹에 원하는 사용자 추가, {{{/etc/sudoers}}}에서 사용자 제거
          * 해결 ~ admin 그룹에 원하는 사용자 추가
  • SoftIce . . . . 3 matches
          * Device Driver 개발 할때 사용하거나, Crack, Debug 등을 할때 사용하는 유명한 툴
          * 그리고 설정에서 마우스 사용은 None 으로 하고, Video 테스트는 꼭 해야 함. 그리고 SoftIce 실행은 Boot 로 해서 안될 경우에 Manual 로 하기 바람.
  • TddWithWebPresentation . . . . 3 matches
         그러다가, 최근 프로젝트 하는중에 ModelViewPresenter 라는 개념에 대해 익히게 되었다. 정확한 개념에 대해서는 잘 잡지를 못했지만, HumbleDialogBox 라는 아티클을 보니 대강 감이 온것 같았다. 중요한 건 표현부분에 대해서 가능한한 로직이 남지 않아야 한다는 점이고, 표현부분을 사용하는 쪽 입장에서도 가능한한 추상화레벨이 높은 메소드를 쓸 수 있어야 한다는 점이다.
         presenter 부분은 추후 내부적으로 Template 엔진을 사용하는 방향을 생각해 볼 수도 있을것 같다.
         이렇게 될 경우 테스트 코드는 다음과 같다. 여차하면 테스트 코드에서 presenter 를 사용할 수도 있었다. (어차피 ViewPageAction 역할을 잘 하느냐가 중요하니까, 거기에 붙는 HTML 들이 어떠하냐가 중요하진 않을것이다.)
  • TheTrip/이승한 . . . . 3 matches
          double sum = 0; //각여행에서 사용한 금액의 총합
          double aver = 0; //각여행에서 사용한 금액의 평균
          aver = sum = 0; // 이번 여행경비 산출에 사용된 임시변수들을 초기화 시킨다.
  • UnityStudy . . . . 3 matches
          * 스플래시 이미지로 사용할 이미지를 Asset에 드래그 드롭으로 등록한 다음, Build Setting에서 Splash Image에서 설정할 수 있다.
          => 물리 현상에 대해 어느 정도 이해하면서 사용해야 함.
          - plane은 background 용도로 사용할 수 있다.
  • UserStory . . . . 3 matches
         사용자의 요구사항에 대한 간략한 기술. XP의 다른 과정들이 그렇듯이 (이건 아마도 XP 방식으로 진행하는 팀들의 특징인듯. -_-a Case Tool 보다는 간단한 카드와 펜을 선호함.~) 보통 인덱스 카드에 기술을 한다.
         Wiki:EngineeringTask 란 해당 Story를 구현하기 위해 실질적으로 해야 할 일들에 대한 서술이다. UserStory 의 각 항목이 비교적 사용자 관점에서의 서술이라 한다면, Wiki:EngineeringTask는 구현해야 하는 Developer들 관점에서의 서술이다.
         시스템과 사용자간의 어떤 행위들을 하는가른 간단히 순서적으로 적는것이지.
  • VisualStuioDotNetHotKey . . . . 3 matches
         잘 살펴보면 6.0의 단축키로 사용할수 있는 옵션도 있다.
          이런것도 있다. 도구모음에 오른쪽클릭 -> 사용자 지정 -> 옵션 -> 스크린 팁에 바로가기 키 표시
         Shift+Alt+F12 : 이거 찾기보다 좋더군요. 함수나 define등 아무거나에서 사용
  • WebGL . . . . 3 matches
         Attribute는 각 포인트 별로 전달되는 정보이고 uniform 은 전체에서 공통적인 정보이다. 일반적으로 Attribute는 각 정점의 위치 정보와 각 지점의 법선 벡터 정보를을 전달한다. uniform은 일반적으로 카메라의 위치나 환경광의 위치처럼 전체적인 것을 전달한다. Attribute나 uniform은 일종의 변수인데 핸들을 얻어와서 그것을 통해 값을 전달할수 있다. 즉 Atrribute나 Uniform은 Javascript측에서 쉐이더로 정보를 보내는 것이다. varying은 쉐이더 간의 정보 전달에 사용된다. vertex shader에서 fragment shader로 값이 전달되며 반대는 불가능하다(파이프라인 구조상 당연한 것이다). 이때 vertex shader는 각 정점(꼭지점) fragment shader는 각 픽셀에 한번 호출되게 되는데 각 정점 사이의 값들은 [보간법]을 거쳐 전달되게 된다(그라디언트 같은 느낌이다 중간값을 알아서 만들어 준다).
         쉐이더는 쉐이더 언어로 따로 짜주고 컴파일 해야하며 심지어 링크까지 시켜주어야 한다. GPU의 강력한 [행렬]연산 능력을 가져다 쓰기 위해서인것으로 보이는데 이것을 사용하지 않고서는 예제파일도 돌려볼수가 없다. 다행이 언어는 C언어와 매우 유사하고 행렬연산이 모두 있기 때문에 딱히 어렵거나 하진 않다. 다만 어느부분에서 어디와 연결되는지 이해하는데 시간이 걸린다.
         각 정점 사이에 있는 픽셀 마다 호출된다. 주로 광원효과를 적용한 픽셀의 최종적인 색깔이나 텍스쳐 연산에 사용된다. varying변수를 vertex shader에서 fragment shader로 넘겨주면 각 정점 사이에는 보간법으로 변환된 값이 넘어 온다.
  • WinCVS . . . . 3 matches
         WinCVS를 처음부터 사용해봅시다.
          1. WinCVS를 사용하기 위해서는 Python과 TCL이 깔려있어야 한다.
          앞으로도 계속 사용하면서 추가해보고싶다.
  • Xen . . . . 3 matches
         젠(Xen)은 오픈소스 기반의 가상화 SW다. 젠은 하나의 컴퓨터에서 여러 종류의 운용체계(OS)를 사용할 수 있게 하는 SW로 한 가지 단점은 OS를 수정해야 한다는 점. 그러나 올해 공개될 인텔의 밴더풀(vanderpool)이나 VT 기술을 적용할 경우 OS 수정이 필요하지 않을 것으로 보여 빠른 확산이 예상된다.
          현재 젠은 인텔 펜티엄과 같은 x86 계열 프로세서에서 작동되지만 곧 다른 프로세서에서도 작동될 것으로 보인다. AMD는 패시피카(pacifica) 등 차세대 기술이 적용되는 64비트 기반 옵테론 칩세트에서 젠을 사용할 수 있도록 할 계획이다. 인텔은 아이테니엄 프로세서에서도 실험적으로 젠을 지원하고 있으며, IBM도 파워 칩에서 젠을 사용하는 데 관심을 보이고 있다
  • YetAnotherTextMenu . . . . 3 matches
         이번에도 역시나 텍스트 메뉴를 입력도구로 사용하는 프로그램이다.
         보통 ToyProblems를 내줄 때, 입력양식으로 텍스트 메뉴를 이용하라는 요구사항이 주어지기도 한다. JuNe이 보기에는 이것은 "단견"이다. 학생들은 매번 비슷한 방식으로 텍스트 메뉴 프로그램을 만들 것이고, 매번 거기에 일정 시간을 빼앗길 것이다. 재미있게도 텍스트 메뉴를 사용하는 프로그램을 작성하면, 학생들이 만드는 프로그램 역시 그 메뉴의 구조를 닮는다. 이것은 그다지 바람직하지 않은 경우가 많다.
         텍스트 메뉴에서 찾는 장점이라면 인터액티브하게 테스트해보기 좋다는 것 정도 될까? 그런데 이는 표준 입출력을 사용하되 버퍼링을 쓰지 않으면 역시 인터액티브하게 테스트 가능하다. 일종의 커맨드 쉘을 제공하는 셈이다(실제로 이를 좀 더 발전시키도록 하면 학생들은 많은 것을 배울 것이다).
  • Yggdrasil/가속된씨플플/1장 . . . . 3 matches
          * 인터페이스: 해당 타입의 객체에 사용 가능한 연산(operation)들의 집합
          * x라는 인스턴스는 선언된 괄호 밖을 나가서 사용되었으니 에러를 출력. 이미 소멸되었으며, 맞게 고치려면 7째줄의 괄호를 없애고 그 다음줄에 써야한다.
          * cin은 공백이나 파일의 끝을 만나면 그때까지의 문자들을 변수에 저장하기 때문에 Samuel Beckett이라고 입력했으면 첫 cin엔 Samuel까지 들어가고, Beckett은 버퍼에 남아있어서 다음의 cin은 사용자에게 입력할 틈도 안 주고 남은 Beckett이란 단어를 flush하기 때문이다.
  • Yggdrasil/가속된씨플플/4장 . . . . 3 matches
          * 전달인자(여기서는 배열)를 값에 의한 전달/참조에 의한 전달을 적절히 사용해야 한다. 원래 값을 보호해야 하는 경우라면 값에 의해서, 원래 값을 바꿔야하는 경우라면 참조에 의해 전달한다.
          * 구조체 만드는 법은 다 알고 있으니 넘어가고, sort()에 전달인자로 구조체를 넘겨주게 되면, 어떤 기준으로 정렬할 것인지 알 수가 없다. 그래서 3번째 전달인자를 사용할 수 있다. 즉,
          * 이렇게 사용하고, compare의 정의부는,
  • ZIM/EssentialUseCase . . . . 3 matches
          || 1. 사용자의 ID와 암호를 입력한다. || 2. 등록된 사용자인지 ID와 암호를 비교한뒤 결과를 보낸다. ||
          ''XP 는 User Story에서의 사용자 무게중심 & 실제 구현시의 걸릴 Task point 으로 잡고, UP 는 기반이 될 아키텍처 순위로 잡고. 둘을 비교해서 생각하는 것도 좋겠군요. 조언 감사해요.~ ^^ --석천''
  • ZPBoard/PHPStudy/MySQL . . . . 3 matches
         = MySQL 사용하기 =
          * 실행결과의 identifier의 내용을 field 명을 사용하여 배열로 저장
         = 사용예제 =
  • ZPBoard/PHPStudy/쿠키 . . . . 3 matches
         = PHP에서 쿠키를 사용하는 방법 =
          * 제한시간 항목에는 time()이나 mktime()함수의 리턴값을 사용할 수도 있다.
          * 뒤에 경로, 도메인주소, 보안은 사용안해도 된다.
  • ZeroPageServer/BlockingUninvitedGuests . . . . 3 matches
          - 만약 해당 페이지를 생성하는 주체가 로봇이 아닌 검색엔진의 결과를 클릭한 사용자라면 이 방법은 적절하지 않다.
          - [임인택]의 [http://purepond.cafe24.com/ 개인위키]도 ZeroPage 에서와 같은 문제점을 (그것도 더 심하게) 겪었는데 아파치의 보안기능 (.htaccess 파일 이용)을 적용해봐도 결과는 마찬가지였다. 누군가의 장난이거나 검색엔진(+사용자)의 무지에서 오는 문제인것이 확실하였는데. 결국 NoSmoke:노스모크모인모인 의 '''등록한 사용자만 글을 쓸수 있게 하는''' 기능을 이용하여 이 문제를 해결하였다. 여담으로.. 쓰레기 페이지를 손수 지우느라 엄청 고생함...-_-;;
  • ZeroPageServer/Log . . . . 3 matches
          * HTML관련 내용 - 모인의 도입과 주 사용자 층이, HTML을 공부하는 층이 아니라서
          * sshd 만 돌린다고 해서 SSH 파일 교환 쉘은 사용할수 없는건가요? ssh_config 파일 수정해도 잘 안되던데... ["임인택"]
          * Q : 현재 ZeroPage의 서블릿컨테이너가 사흘이 멀다하고(좀 부풀려서 ^^) 운명을 달리하시는데, 데비안 버전의 Resin 문제인건가요? 아니면 파악된 다른 원인이 있습니까? 현재 2.1.6 버전이 나와있던데, 업그레이드해볼 계획이 있나요? 또는, 다른 서블릿 컨테이너를 사용해보는건 어떤가요? Resin 2.0 대 기준으로 스트레스 테스트시 죽는 일은 있었습니다. 누군가 ZeroPageServer에 스트레스테스트를 하고 있나요?
  • ZeroPageServer/MySQL계정 . . . . 3 matches
         ["ZeroPageServer"] 에서 돌아가는 ["MySQL"]의 계정으로서 ["MySQL"] 데이터 베이스를 사용할수 있는 권한이다.
          * ["MySQL"] DB 를 사용할수 있다.
          * ["MySQL"] DB 를 원격에서 접근해서 사용할수 있다. 즉, 안정적인 DB 서버 프로그래밍이 가능하다.
  • django/Example . . . . 3 matches
         본 논문에서는 Django를 사용하여 실생활에서 쓰일 만한 시스템을 만들면서 질의처리 능력과 데이터베이스 추상화를 실험해본다. 안전관리시스템은 안전관리가 필요한 위험을 파악하고, 위험이 발생하는 경우 사용할 수 있는 대처방안을 설정한다. 그렇게 함으로써 위험한 상황이 발생하지 않도록 하고, 실제로 위험한 상황이 발생했을 때 정책에 따라 적절한 방법으로 대처하여 큰 사고로 이어지지 않도록 돕는다.
         예를 들어 "너구리" 제조회사에서 안전관리시스템을 사용하여 "화재"라는 위험을 관리한다고 생각하자. "화재"가 발생하면 가연성 물질인 "너구리 꼬리"에 불이 옮겨 붙어 대형 사고로 이어질 수 있다. 따라서 "너구리" 사는 "물뿌리개"를 직원들에게 지급하여 "너구리 꼬리"에 불이 옮겨 붙기 전에 "화재"를 진압하기로 결정했다. 또한 "너구리" 사는 "화재"가 5분 안에 진압되지 않는 경우 "일일구" 서비스를 이용하기로 결정했다. 따라서 "너구리"사 직원들은 불이 났을 경우 "물뿌리개"로 일단 불을 끄고, 5분이 지나면 "일일구" 서비스를 부를 것이다.
  • eXtensibleMarkupLanguage . . . . 3 matches
         [SAX] : XML을 읽어가면서 발생하는 이벤트에 기반한 파서. 메모리의 사용량이 적다.
          * [http://xml.80port.net/bbs/view.php?id=xml&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=26 VC++에서 msxml 사용]
          * DTD로 검색하다 여기로 왔네요ㅋㅋㅋ 예전에 쓰신 것 같아서 지금은 아시는 내용이겠지만 나중에 다른 분들이 이 페이지를 보실 수 있으니 시간을 건너뛰어 댓글 답니다~ DTD는 Document Type Definition의 약자로 XML 문서 작성을 위한 규칙을 기술하는 형식입니다. valid XML Document의 경우 well-formed XML Document이면서 XML에서 사용되는 원소 이름이 해당 문서에 대한 XML DTD나 XML Schema에 명세된 구조와 합치되어야 한다고 하네요. 이 내용에 대한 수업을 들으며 씁니다ㅋㅋㅋㅋㅋㅋㅋ - [김수경]
  • eclipse단축키 . . . . 3 matches
         자주 사용하는 단축키
          * 주로 Editor에 떠있는 화일 닫는 용도로 사용
          * Content Assist : show template proposals 사용가능한 메소드 이름 보여준다
  • eclipse디버깅 . . . . 3 matches
         프로그램을 한 단계 진행하되, 메쏘드 호출부라면 실행 포인트를 메쏘드 안으로 옮긴다. 호출하는 메쏘드의 내부 동작을 확인하고 싶을때 사용한다.
         메쏘드 호출부라도 메쏘드 안으로 들어가지 않고 현재 코드에서 한 단계씩 진행한다. 호출하는 메쏘드 내부 동작에는 관심이 없고 현재 코드 블럭에 관심을 집중하고 싶을 때 사용한다.
         선택한 스택 프레임의 첫 행으로 실행 포인트를 옮긴다. 특정 메쏘드를 실행하다 그 메쏘드의 처음부터 다시 디버깅하고 싶을 때 유용하게 사용할 수 있다.
  • erunc0/COM . . . . 3 matches
          * 간단한 C++ 클래스로 시작하여 재사용 가능한 이진 Component로써 클래스를 사용하는 법을 간단한 예제를 통해서 배우게 된다. 처음은 DLL을 통해서 client 에게 제공하는 문제에 대해 말하며. 다음에는 이렇게 제공되어진 컴포넌트에 대한 방화벽(?)등에 대해 논의 하면서 인터페이스를 통하여 컴포넌트 내의 은닉화를 위한 방법들을 설명해준다. 그리고 그다음으로는 abstract class를 사용해 (virtual function을 이용한 방법) 인터페이스의 확장에 관한 부분까지 설명한다. 그리고 끝으로는 RTTI 이용하여 더 나은 인터페이스의 확장 방법과 다중의 client 에게 컴포넌트를 제공할수 있게 만드는 부분까지 설명한다. 한서라서 그런지 애매한 용어들이 많이 있어서 아직도 이해가 가질 않는 부분이 많았다. 한번더 chapter 1응 읽은 후에 정리하고 chapter 2로 넘어가야 하겠다.
  • html5/VA . . . . 3 matches
          * HTML5를 지원하는 브라우저에서 사용할 수 있다.
         == 사용 방법 ==
          * 사용자 중심의 편리한 미디어 플레이어를 만들수 있다.
  • html5/video&audio . . . . 3 matches
          * HTML5를 지원하는 브라우저에서 사용할 수 있다.
         == 사용 방법 ==
          * 사용자 중심의 편리한 미디어 플레이어를 만들수 있다.
  • html5/webSqlDatabase . . . . 3 matches
          * 일반적인 DB 사용법과 비슷하다. 열고, 수행하고, 닫고.
         = 사용법 =
          * 사용전에 반드시 데이터 베이스를 열어야 한다.
  • mantis . . . . 3 matches
          * /core/user_api.php 에서 416line 을 아래와 같이 바꿔서 이메일 인증이 아니라 임시 암호를 부여하고, 사용자가 바꾸게끔 한다.
          * administrator , 암호는 root 로 로그인 후에 계정관리에서 preference 부분에 가서 제일 하단 부에 있는 언어 선택을 한글로 해야 한글로 메뉴를 보고 한글을 사용할 수 있습니다.
         테이블을 만들때 euc-kr 으로 만들었고 euc-kr 을 mantis 에서 사용하기 위해 아래와 같이 mantis 소스를 수정 하였습니다.
  • 같은 페이지가 생기면 무슨 문제가 있을까? . . . . 3 matches
          * 2년 정도 위키를 쓰면서 그런 고민은 크지 않았습니다. 현제 ZeroPage 에서 사용하는 위키는 정리하는 사람 수 자체가 적어서 경험하지 못했을수 있습니다. 사람 수가 많은 [노스모크]에서도 못느껴봤습니다. --NeoCoin
         [현재 위키에 어떤 습관이 생기고 있는걸까?]의 공원 길의 예제와 같이 중복 페이지가 생기고, 발견자(위키 사용자-WikiGnome)가 중복 페이지를 한두장 고칠 필요가 느껴질때 한두장 해결해나가는 일종의 아래에서 위로(BottomUp)의 해결 방식을 이야기 하는 것입니다.
          앞에서도 썼듯 ''페이지를 생성할 때, 검색을 자동으로 해준다. 그래서 검색 결과를 보여주고 페이지를 새로 만들지, 아니면 원래 페이지에 덧붙여서 쓸 지 사용자가 결정하게 한다. 그러다면 검색 결과를 무시하지 않는 한, 중복 페이지가 줄어들지 않을까''라는 생각이 기본입니다. 검색범위를 페이지 이름으로 할지 전체 글을 대상으로 할 지는 생각을 못 해 보았지만요. 페이지를 손으로 고치는 방식을 대체할 것은 생각 못했지만, 제가 생각한 방식은 페이지를 만들기 전에 할 수 있으므로, 페이지를 만들고 나서 해결하는 '''아래에서 위로''' 방식과 혼합해서 쓸 수 있다고 생각합니다. 써 놓고 보니 페이지 이름하고는 빗나간 이야기이긴 하지만 어떻게 손이 한 번이라도 덜 가는 구조를 만들까 하다 보니 이런 글을 썼습니다.-[Leonardong]
  • 검색에이전시_temp . . . . 3 matches
          * [http://prdownloads.sourceforge.net/goog-kongulo/kongulo-0.1.zip?download 웹스파이더(구글오픈소스)] - 이프로그램은 구글 데스크탑의 플러그인 같은 것으로서 이프로그램을 사용하여 특정 웹사이트 내용을 긁어서 구글 데스크탑 디비에 넣을 수 있다. 현재는 이 프로그램으로 구글 데스크탑이 아닌 그냥 파일에 쓰는식으로만 바꿔봄
         = 사용 언어 =
         좀만 더 연구하면 싸이월드에 있는 기능들을 위키에서 모두 플러그인 식으로 사용가능하겠구나. -_-
  • 공간박스 . . . . 3 matches
         사용기좀 올려주세요. 장점, 단점 같은.
          * 사용기 수준은 아니고, 장점으로는 가격이 저렴하면서 나무재질이라 인테리어를 고려할때도 좋다는 것을 들 수 있을 것 같습니다. 배치만 잘 해놓으면 다양한 사이즈의 책들을 수납할 수 있구요. 단점으로는 역시 나무재질의 DIY제품이라 견고성이 떨어진다는 점입니다. 각각의 부품의 맞물리는 형식이 아니라 나사를 이용해서 결합하는 방식이라 사용하다보면 그 결합부분이 망가지는 문제점이 있습니다(제것만 그럴지도 모릅니다)
  • 금고 . . . . 3 matches
         새로 개발한 금고의 견고함을 측정해서 광고하려고 하는데, 금고 K개를 가지고 이 빌딩의 F층이 몇 층인지를 알고 싶다. 가능한 방법은 임의의 층에서 직접 금고를 떨어뜨리고 그 결과를 확인 하는 것 뿐이다. 물론, 부서진 금고는 다시 사용할수 없으며 부서지지 않았다면 다시 사용할수 있다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • 김희성/리눅스계정멀티채팅 . . . . 3 matches
         int client_socket_array[25]; //클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
          //ex) 스레드가 사용 중인 소캣 == client_socket_array[스레드 번호]
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 한다.
  • 김희성/리눅스계정멀티채팅2차 . . . . 3 matches
         int client_socket_array[25]; //클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
          //ex) 스레드가 사용 중인 소캣 == client_socket_array[스레드 번호]
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 한다.
  • 김희성/리눅스멀티채팅 . . . . 3 matches
         int client_socket_array[25];//클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
         //ex) 스레드가 사용 중인 소캣 == client_socket_array[스레드 번호]
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 한다.
  • 데블스캠프2003/다루어볼문제와관련세미나 . . . . 3 matches
          * 저는 STL 같은 것은 그냥 할수 있을 만큼 사용할줄만 알면 되다고 생각합니다. Library 가 제공하는 것은 우리에게 좀더 고차원적인 사고에 전념할수 있는 것이 겠지요. 배열의 길이에 신경쓰지 않는 것만으로, C++에서 얼마나 무한한 사고가 가능할까요? 학교 교제는 C++을 가르치는 것이 아니라, C에다 어떻게 충돌을 일으키지 않고 문법을 추가시켜 C++이 되었는가를 가르치기 때문에 이런 기회는 필요 할것 같습니다. 아마 궁금한 사람은 STL의 소스를 보겠지요. 사족으로 STL은 OOP보다 Generic Programming의 관점에서 구현되 었습니다. --NeoCoin
          * 도큐먼트나 튜토리얼을 이용하는 방법을 알려주는 것도 괜찮은 것 같습니다. 새내기들에게 MSDN 에서 검색을 하는 것을 알려줬더니 단지 영어라는 이유로 겁부터 먹고 사용을 못하더군요. 어떠한 주제를 던져주고 이러한 것들을 스스로 찾아서 사용하는 방법을 알려주는 것도 스스로 공부를 해 나가는데 있어서 좋은 경험이 되지 않을까 합니다. -- [상욱]
  • 데블스캠프2006/월요일/연습문제/웹서버작성/변형진 . . . . 3 matches
          * 내가 PHP 도 약간 해보고, JSP 나 Java 도 약간 해봤서 대충 심정을 알듯.. 나도 JSP랑 Java 써서 이번에 DB 프로젝트 개발 해보기전에는 웹에서는 PHP로 짜는게 가장 편하게 느껴졌었거든. 그래서 DB 프로젝트도 웹은 PHP 응용은 Java 이렇게 해 나갈려고 했는데 PHP가 Oracle 지원은 버전 5.x 부터 되서 걍 Jsp로 하게 됐지. 둘다 해본 소감은 언어적인 면에서는 뭐 PHP로 하나 Jsp로 하나 별 상관이 없는거 같고, 다만 결정 적인것은 개발환경및 Jsp 에서는 java 클래스를 가져다가 사용할수 있다는 점이었스. Jsp에서 하면 Junit 을 사용하여 Unit 테스트를 하면서 작성하기 수월했고, 또한 디버깅 환경도 Visual Studio 에서 디버깅 하듯이 웹을 한다는게 정말 좋았지. 또 java 클래스를 가져다가 사용할 수 있어서 여러 오픈 소스를 활용하기에도 좋고.(예를 들면 Lucene 같은 자바로 만든 오픈소스 검색 엔진..). 특히 Eclipse 라는 강력한 개발 환경이 있어서 Visual Studio 보다 더 개발이 수월할 정도..
  • 데블스캠프2009/수요일후기 . . . . 3 matches
          * '''서민관''' - kernal이나 어셈블러 언어 등 전까지 별로 접할 일이 없던 생소한 개념들이 많이 나와서 솔직히 쉽지는 않았습니다. 그래도 OS의 구조나 Ring system 같은 것들은 개념적으로라도 알아두면 괜찮을 것 같네요. 그리고 전날 혁준 선배가 설명해준 dll에 대해 잠깐 다시 복습할 수 있었던 것도 좋았고요. 아쉬웠던 점은 역시 수업이 너무 고수준이라서 대략적인 이해만 하고 넘어가야 했던 것입니다. 그리고 수업 이후에 개인적으로 VMware의 사용법을 가르쳐 주신 것은 정말 감사합니다. 선배가 제 구세주입니다.
          * [김준석] - 강의 내내 속으로 피말렸다. 강의 도중에 이해하기 쉽게 설명할걸 몇몇 빼먹은게 자꾸 떠올라서 천천히라도 설명하려했으나 설명해놓고 보니 좀 엉뚱한데서 설명해버린 안타까운 현실. 현역 군인이라 OOP 강의에 대해서 그렇게 많은 준비는 못한것이 사실이라 강의할때 도움도 좀 받았고. 휴가 나오기전에 1~2시간씩 코딩없이 강의 할만한 내용을 찾다가 C++을 사용할 1,2학년에게 좀 중요한 내용을 잡게 됬는데.. 휴가 나오고 PPT를 작성하는데 3일동안 하루 3~4번은 고치고 내용추가를 고민하는등 긴장을 좀 많이 탓다. OOP를 이해시키고 학교생활중 설계의 중요성을 몰라 삽질을 반복했기 때문에 그 후에 코딩하기 전에 설계하는법에 좀더 중점을 둔 시간을 가지고 싶었다. 그냥 무작정 달려들어서 Run&Fix도 하기 쉽지 않은 중복많은 2~3백자리 코딩을 하기 보다는 전날 Abstractionism에서 형진이가 말했듯이 20줄 이내의 코딩, 잘 설계된 잘나뉜 코딩은 어딘가를 목표로 갈때 지도나 정보를 모아 쉽고 편한 길로 가는것과 같다. 돈도 절약되고. 안힘들고. 문제가 생겨도 모아온 정보로 해결할수 있는.. 문제를 풀어 결과를 도출해놓는것도 좋지만.. 주위에는 답을 똑같이 도출해놓을수 있는사람이 90%는 될것이다. 그렇다면 짧고 보기쉬운것이 좋겠지. 정말 아쉬운 점이라면 API나 로보코드때 이걸 설명하고 했더라면 들은 학우들에게 더 많은것을 이해할수 있었던 시간일것이라고 생각하는데.. 좀더 빨리 준비했었어야됬어.
          * '''서민관''' - 수요일 수업에서 제일 마음에 들었던 부분입니다. 이클립스를 써 본 것도 좋았고, 무엇보다 JUnit test는 정말 마음에 드네요. 앞으로 갈수록 프로그램의 크기가 커질텐데 이클립스를 통한 svn 사용이나 JUnit test나 둘 다 팀 프로젝트용으로는 정말 좋은 기능이라고 생각합니다. 정말 뭐라고 더 칭찬을 해야 할 지 말이 안 나올 정도로 마음에 들었어요. 한 방에 제대로 프로그램을 못 짜는 저한테는 메인 함수 없이도 버그 수정이 가능하다는 건 정말 고마운 기능이죠.
  • 데블스캠프2009/화요일후기 . . . . 3 matches
          * [김준석] - 같은 것을 반복하기 위해 우리는 자주 copy &paste를 사용한다. 단순히 키보드 두번만 누르면 똑같은 것이 한번더 만들어지는 좋은 단축키 이다. 하지만 사실 이 반복되는것을 우리는 단순히 단축키를 누름으로서 만들어지는것은 과거의 저급언어를 사용할때나 만들어지는 반복의 숙달이다. 평소 자주 알고리즘을 연구하자는 말을 들을것이다. 문제를 푸는것 만에는 사실 극히 특별한 알고리즘이 필요없다고 생각한다. 살면서 어떻게든 간단반복으로 대부분은 풀수 있을테니까. 알고리즘을 연구하는것은 우리가 사용하는 컴퓨터의 부담을 줄이기 위해 만들며 이는 단순 반복되는 계산과정을 줄여줘 자원의 낭비를 줄여준다. 이렇듯 컴퓨터의 반복은 줄이면서 직접 키보드를 치며 반복하고있는 나의 자원소비량은 어떤가? 나는 왜 반복을 하고 있는가? 이 긴 코드를 줄일수 있는 방법은 정녕 없는것인가?라는 컴퓨터 알고리즘을 생각하듯 나를 위한 알고리즘을 생각을 해보았나? 대부분의 문서를 한장으로 줄여서 요약할수 있다는것을 가르쳐주는 One Page Proposal이라는 책에서는 "온갖 미사여구를 넣어 50page나 100page가 넘어가는 문서는 문서를 받은 사람의 책상에서 쌓이고 쌓여 결국에는 보여지지도 못하고 세절기에 들어가 버린다. 정말 자신이 있다면 알짜배기만 모아서 1Page로 보기 좋게 만들어라." 맞는 말이다. 아무리 길게 만든 프로그램이라도 20줄도 안되는 프로그램과 성능이 똑같다면 당연히 보기도 좋고 관리하기도 좋은 20줄 프로그램을 쓰겠지.이 20줄 프로그램을 쉽게 만들기위해 사람은 자신이 편리하게 개발과 연구를 했다. 그렇게 편리하도록 발달하는 과정. 그 생각을 잘보여준 세미나였다고 생각한다. 과연 네이버에서 자동완성됬던 Kesarr.
  • 데블스캠프2010/셋째날/후기 . . . . 3 matches
          * 파이썬의 기본적인 사용법을 배웠습니다. 그림을 그리는 코딩을 하면서 파이썬이 정말 재미있다고 생각하게 되었습니다. 기회가 된다면 따로 공부하고 싶네요~ [김준영]
          * Python이라는 언어의 특징에 대해서 알아보고 사용법에 대해 배웠다어요 C에 비해서 편한점이 많은 것 같았고, 개발자 분이 만드실 때 참 재밌게 만든 것 같다는 느낌이 들었어요ㅋㅋ. 거북이를 이용해서 여러 그림도 그려보고 재미있었어요~_~. 설명도 잘 해주셔서 이해하기 쉬웠고 코딩도 생각보다 잘 되서 좋았어요~ㅋPython에대해 좀더 알아보고 싶고 더 재밌는 그림도 그려보려고요~! [박재홍]
          * Python, 개인적으로 참 배워보고 싶었던 언어였습니다. 왜냐면 ZP가 사랑하는 언어잖아요... ㅋㅋㅋㅋ 한번 들어보니 새롭긴 했습니다. 작년에 루아를 잠깐 공부해본적이 있었는데 자료형에 대해선 같은 특징을 가지고 있더라고요. 역시 '스크립트 언어는 인터프리터를 사용해서 자료형을 지정하는 것이 유연성이 없어서 그런가보다'라는 생각이 들었습니다. 재미지네요. 그런데 제가 스크립트 언어 하나 정돈 제대로 배워볼 생각인데 파이썬 한번 해봐야겠네요. - [박성현]
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/강성현 . . . . 3 matches
          * HashMap을 사용하여 단어와 빈도수를 저장함. 저장할 빈도수가 2개라 int형 2개를 저장하는 Int2 클래스를 만듦.
          * 파일입력은 FileData 클래스를 만들어서 사용. java.util.Scanner를 사용하였음.
  • 레밍즈프로젝트/프로토타입 . . . . 3 matches
         '''단순한 기술에 대한 사용이 아니라 재 사용 가능한 클래스를 만들어 보는게 핵심이다.'''
         참고 : MFC에서는 [(zeropage)STL/String] 보다는 CString 클래스를 사용하는게 [(zeropage)MFC/Serialize]를 하는데 용이하다고 한다.
  • 레밍즈프로젝트/프로토타입/SetBit . . . . 3 matches
         비트 단위로 저장되는 맵을 로드하기 위해서 사용한다.
         프로그램에 사용되는 맵 타일의 형태가 확정된다면 [레밍즈프로젝트/프로토타입/MFC더블버퍼링]을 확장해 사용 할 것이다.
  • 몬테카를로법 . . . . 3 matches
         [몬테카를로법]의 역사는 멀게는 확률론의 개척자들이었던 도박사들이 여러 번의 임의추출을 바탕으로 특정한 카드 조합이 나올 확률을 직접 계산했던 중세까지 거슬러올라갈 수 있습니다만, 진정한 의미에서의 몬테카를로법을 처음 사용한 사람은 현대 [컴퓨터] 구조의 완성자이기도 한 천재 수학자 [폰 노이만]으로, 그가 참여했던 [맨해튼 프로젝트](미국의 [원자폭탄] 개발 계획)에서 중성자 확산 시뮬레이션에 처음 사용한 것으로 알려져 있습니다.
         이런 장점은 이론적 배경만으로는 계산하기 어려운 수치들 - 예를 들면 복잡한 형태를 가진 표면에 빛을 비추었을 때 반사광의 분포, 복잡한 분자계의 화학적 특성 분석, 핵융합로에서 중성자 빔이 반응에 미치는 영향 등 - 을 직접 구할 필요가 있을 때 빛을 발합니다. 때문에 컴퓨터를 이용한 분석이 발달한 최근에는 거의 모든 과학과 공학 분야에 걸쳐 몬테카를로법이 광범위하게 사용되고 있습니다.
  • 문서구조조정토론 . . . . 3 matches
         ["혀뉘"] : 위키 사용에 있어서 , 기존의 게시판과 같은 '글' 편집의 독자성,일관성 을 보장받지 못하다보니 이런 토의가 필요하게 된것 같군요. 사실 위키는 이러한 편집의 권리를 많은부분 '공유' 한다는 개념에서 나온것이기 때문에, 이를 너무 의식하면 위키 본래의 기능을 상실할 수 밖에 없을것 같습니다. 이런 일이 생기는 이유가, 그동안 ZP 의 움직임에 대해서 토론할 주제들이 많았기 때문에, 위키를 토론의 목적에 사용해서 그렇지 않았나 싶군요. 누구든지 글을 수정 할 수 있다는 위키의 장점이, '토론' 분야에 적용하면서 단점으로 바뀌게 되었다고 봅니다. '토론' 분야 만큼은 편집의 독자성을 보장 하는것이 어떨까요? 문서의 종류에 따라, 사실에 기초한 문서는 여러사람이 손을 대서 '완전에 가까운 문서' 를 만들어낼 수 있겠지만, '의견' 에 기초한 문서는 여러사람이 손을 대면 댈 수록 본래 의견제시를 했던 사람의 '의견' 은 훼손됩니다. 편집의 독자성이 필요하다고 생각됩니다. 망치로 대패질 할 수는 없는게 아닐까 합니다. 망치를 쓸 곳에 대패를 사용하려면, 대패 몸이 조금 상하겠지만, 휘둘르는 방법으로 못을 박아야지요 :)
  • 문자반대출력 . . . . 3 matches
          * 파일 입출력 사용.
          * C 에도 라이브러리로 문자열 반전 시켜주는 함수를 제공합니다. strrev()라는 함수를 사용하면 '\0'바로 전 글자부터 거꾸로 만들어주죠. 물론 ANSI 표준은 아니고 Semantec, Borland, Microsoft 에서 제공하는 컴파일러의 경우에 자체 라이브러리로 제공합니다. 이식성을 생각하지 않는 일반적인 코딩에서는 위에 나열한 컴파일러를 이용한다면 사용할 수 있습니다. - 도현
  • 삼총사CppStudy/Inheritance . . . . 3 matches
          아.. 이 문제를 어떻게 하면 좋을까~? 이럴때 사용할 수 있는 스킬이 바로 '''상속(Inheritance)'''이다.
         protected: // protected를 사용한 이유는 상속받은 클래스에서도 이 멤버들을 사용할 수 있게 하기 위함이다.
  • 새싹교실/2012/나도할수있다 . . . . 3 matches
          * GCC의 사용방법
          * 새싹 첫수업을 했다. 도중에 현민이가 영어 수업을 받으러가서 한시간 비었다. 다음주부터는 시간을 한시간 연기하여 세시부터 시작할 예정이다. gcc의사용법을 간단히 설명했고, gdb는 학생들이 디버깅을 몰라서 설명해주지 않았다. printf사용법부터 시작해서 연산자, 데이터 타입, while,do-while,for문을 설명했다. 현민이는 쉰게 잘 따라오고, 윤호도 천천히 따라오고 있어서 앞으로 수업하는데에 지장은 없을 것 같다. 수업을 다 하고 생각해보니 너무 우왕좌왕하게 가르쳤던것 같다. 다음시간은 더욱 열심히 준비해야겠다. - 추성준
  • 새싹교실/2012/우리반 . . . . 3 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          * 위키사용하는 방법
          * printf를 사용하는 방법, %d란 무엇인가.
  • 새싹교실/2012/절반/중간고사전 . . . . 3 matches
          * 예약어를 사용하면 안 됨
          * 가급적 의미를 알 수 있는 이름을 사용하자
          * 변수 선언시 대소문자 구분, 숫자 및 특수문자 사용 못함
  • 새싹교실/2012/탈락 . . . . 3 matches
          * 변수, 데이타 타입, 반복문, 조건문 등을 가르침 기본적인 문법을 가르쳐주고 직접 그 문법을 사용하여 사용법이 익숙해지게 끔 하였다.
          * 1회차에서 배운 내용을 기억하고 있는지 복습 예제를 주어 풀게하였고, 이번차에서는 스위치문의 문법과 사용하는 이유, 배열과 배열을 쓰면 편한 점 등을 설명해주고 예시문제를 주었다.
  • 새싹교실/2013/록구록구/3회차 . . . . 3 matches
          while 사용
          요렇게 출력 하면 됩니다.. 대신 반복문을 사용해야겠죠??
         else if와 swich를 사용하면 왜 편리한지 잘 와닫지 않았다.
  • 새싹교실/2013/록구록구/8회차 . . . . 3 matches
          * 반복문을 활용한 배열의 장점 및 사용
          반복문을 사용하여 배열의 모든 요소를 출력하는 프로그램을 만들어 보세요!
         2. 5칸짜리 int형 배열을 선언합니다. 값은 scanf와 반복문을 사용하여 입력받습니다.
  • 새싹스터디2006/의견 . . . . 3 matches
         따라서 지금 위키 구조를 잘 이용해 필요한 정보는 제로페이지 위키에, 각 소그룹으로 진행하는 내용은 개인 위키에 정리하면 좋겠습니다. 나중에 정리할 필요 없는 시간 약속, 출석 체크, 메시지 전달 들을 개인 위키에서 진행하면 되겠죠. 단 숙제를 내면 반 이름의 하위페이지를 만들기보다, [EightQueenProblem]처럼 정보를 모을 수 있을 것입니다. 이로써 현재 미약한 개인 위키 사용이 늘어날 것이고, 덤으로 사용자가 위키 카페 구조에 익숙해지는 효과도 얻을 것 같습니다. -- [Leonardong]
         사실 [너구리]페이지는 제로페이지 위키에 있어도 그만입니다. 현재 진행중인 스터디를 모두 링크하는데 [너구리]페이지가 너굴아빠 개인위키에 있든 어디 있든 상관없지요. 다만 최근바뀐글을 생각하면 일장일단이 있습니다. [너구리]페이지가 제로페이지 위키에 있으면 현재 진행중인 스터디를 모든 사람이 한 곳에서 볼 수 있을 것이고, 따라서 다른 스터디도 돌아볼 기회가 많아지겠죠. 반대로 [너구리]페이지가 개인 위키에 있으면 자신의 위키홈에 가야지 볼 수 있기 때문에, 개인 위키 사용을 활발히 만들 겁니다.
  • 식인종과선교사문제/변형진 . . . . 3 matches
         이 문제를 푸는데 흔히 이용되는 Backtracking 기법을 사용하지 않고 구현하는 방법이 없을까 해서, Case-by-case로 최소한의 상황에 대한 처리 방법을 지정해보았다.
         가능한 모든 cases를 분석한 결과 우로 건너기와 좌로 건너기에서 각각 상황에 따라 3가지 건너기 방법이 사용될 수 있었다.
         '''그러나 여기에서 사용한 방법은 모든 cases를 사람이 직접 조건 별로 분류해 주어야 하므로 결코 좋은 방법이 아니다.'''
  • 실시간멀티플레이어게임프로젝트 . . . . 3 matches
         제작할 게임은 컴퓨터 그래픽을 사용하지 않습니다. 게임의 목표는 화려하거나 중독성 있는 게임이 아니고, 상상력을 자극하고 즐거운 게임입니다. 복잡하지만 단순한 게임이 아니고, 단순하지만 복잡한 게임입니다.
         등입니다. 여기에서 파이썬이라는 언어에 대해 얻는 것은 다른 것들에 비해 상대적으로 그다지 크지 않을 것입니다. 이번 경험은 어떤 언어이냐가 중요하지 않습니다. C++이나 자바를 사용할 수도 있다는 말입니다. 하지만 그렇게 하지 않은 이유는, 그런 언어들을 사용하면 "언어(혹은 라이브러리 API)"라는 문제가 더 커져서 소위 배보다 배꼽이 커지는 현상이 생기기 쉽기 때문입니다.
  • 쓰레드에관한잡담 . . . . 3 matches
         thread를 사용할때 중요한것이 동기화인데, context switch를 할 때 데이터가 저장이 안된 상태에서 다른 thread로 우선순위가 넘어가면 치명적인 오류가 나게된다.
         Linux에서 멀티 프로세스 개념인 fork()는 내부적으로 do_fork()란 Kernel 함수를 호출하며, do_fork()는 내부적으로 user thread인 POSIX기반의 Mutex를 사용한다.
         ... 그리고... 한가지... POSIX thread를 사용하여 많은 양의 thread를 생성하면 동기화를 주목해야한다.
  • 우리홈만들기 . . . . 3 matches
          * 사용중인 툴 : 에디트플러스 2 평가판 (사용한지 30일 가까워옴..)
          태호형도 보고감..^^에디트 플러스 기간 지나도 무한대로 사용가능함..^^;;;
  • 위키를새로시작하자 . . . . 3 matches
         그래서 ZeroWiki 를 막아버리고, Wiki를 새로 시작하면서, 함께 예절과 규칙을 만들어 나가면서 위갭?다시 시작하는것이 어떨까 싶습니다. 현 ZeroWiki는 읽기만 가능하고, 새로운 위키는 읽기, 쓰기, 삭제(로그인 한 사용자만) 모두를 열어둘 생각입니다. 현 ZeroWiki 상의 예절이나, 규칙은 필요에 따라 재사용, 새롭게 정의 하려고 합니다.
          음.. 저도 1'WIKI에 프로젝트 페이지를 옮기긴 했지만 좀 그랬습니다. 새로운 규약과 규칙이 만들어지자는 의견이 있는걸로 아는데요. 지금 0'WIKI의 내용을 옮겨 놓으면 그냥 예전의 위키가 되어버릴것 같습니다. 차라리 1'WIKI사용을 아직 하지 말로 나중에 시작하는건 어떨런지요? -[상욱]
  • 이영호/64bit컴퓨터와그에따른공부방향 . . . . 3 matches
         (C를 사용할 시 Inline Assmbly만을 허용한다.)
          └저도 C (배우게 된다면 Assembly도.ㅎ)를 좋아 합니다.ㅎ 무엇보다 빠른 연산속도와 하드웨어 제어(해본적은 없지만), 포인터를 통한 메모리 접근등 좋은 점이 많아요.^^* 그렇지만 예를 들어 1만 팩토리얼을 출력하는 프로그램을 작성하시오. 라고 문제가 주어졌을때, C로 짜면 한나절이지만 파이썬으로 작성하게 되면 5분도 안걸리게 됩니다. 물런 연산속도가 느리기는 하지만 말입니다.^^ 이런 점에서 봤을때, 속도가 중요하다거나 특화된 프로그램을 작성해야할 경우에는 C와 같은 언어가 좋지만 보편적으로 사용하는 워드프로세서라든지 기타 응용프로그램이나, 제작해야할 프로그램의 제작시간이 짧을 경우에는 상위레벨의 언어가 좋을거라고 봅니다.^^ 뭐 이렇게 말은해도.. 사실 서로의 장점을 그때그때 맞춰서 섞어쓰는게 가장 좋지 않을까요?ㅎ (게임을 만들때 하위레벨의 언어로 하드웨어를 직접 사용한다 하더라도, 다이렉트를 이용하지 각각의 그래픽 카드에 맞춰서 프로그램을 만들지 않는것과 비슷한것 같아요.^^) 이상 지나가는 행인1의 잡다한 생각이었습니다.^^* - [조현태]
  • 이영호/nProtect Reverse Engineering . . . . 3 matches
         마비노기가 아닌 다른 nProtect를 사용하는 게임을 확인한 결과 소스에 포함되어 Exception Handling을 한다는 것을 발견하였다.)
         업데이트 파일에서 host의 patch 주소를 내가 사용하는 eady.sarang.net/~dark/12/Mabi/로 고치고 여기에 파일 3개를 올리고 시도 하였더니
         2. client.exe(client가 실행될 때, gameguard와는 별개로 디버거가 있는지 확인하는 루틴이 있는 듯하다. 이 파일의 순서는 이렇다. 1. 데이터 파일의 무결성검사-확인해보지는 않았지만, 이게 문제가 될 소지가 있다. 2. Debugger Process가 있는지 Check.-있다면 프로세스를 종료한다. 3. gcupdater.exe를 서버로부터 받아온다. 4. createprocess로 gcupdater를 실행한다. 5. 자체 게임 루틴을 실행하고 gcupdater와 IPC를 사용할 thread를 만든다.)
  • 일반적인사용패턴 . . . . 3 matches
         위키의 특성상 한 페이지가 길어지는 경우가 많습니다. 스크롤을 위해 휠만 사용하는 것보다는 Page Up, Page Down을 적절하게 사용하시는 것이 편합니다. 한쪽손은 키보드, 한쪽손은 마우스.~
          1. 새 이름을 사용할 새로운 페이지를 만든다.
  • 임인택/삽질 . . . . 3 matches
          * DirectDraw 를 사용하려다가 계속 정의되지 않은 타입이라 나옴 - DX SDk 인클루드 순서를 맨 위로, 라이브러리도 마찬가지.
         JavaServerPage에서 bean 클래스를 사용할때 클래스 생성자에는 전달인자를 사용할 수 없다.
  • 전문가되기세미나 . . . . 3 matches
          * 시스템의 사용에 대해 질문이 생긴 시점부터 전문 사용자가 답할때까지 평균 3일 이하가 걸리는가?
          * 프로그래머가 이 프로그램을 사용하는 유저로부터 바로 피드백을 받을수 있나?
  • 정모/2003.7.29 . . . . 3 matches
         === 1'Wiki의 사용 ===
          * 지금 1'Wiki를 테스트를 하는 이유는 새로 위키를 같이 사용해 나가면서 규칙을 만들자는 취지이며, 0'Wiki를 닫지 않으면 1'Wiki를 테스트 해보는 사람만 테스트해 볼 것이므로 0'Wiki를 폐쇄할 거라고 합니다. 그러므로 ZeroWiki:ZeroPager 모두가(특히 신입생) 의욕적으로 1'Wiki사용에 참여하였으면 좋겠습니다.
  • 정모/2011.10.12 . . . . 3 matches
          * ZeroPage와는 무관하지만 프로젝트 제안서를 이찬근 교수님께 제출하여 공간을 사용할 수 있습니다.
          * 함께 사용하는 공간이니만큼 서로 배려하고 깨끗하게 사용합시다.
  • 정모/2011.3.7 . . . . 3 matches
          * 활동 공유로 읽었던 책을 간단히 소개하면서 내용을 되새김질하는 계기가 되어 좋았다. 루비를 다운받아 irb를 사용해 실습을 해보았다. 성현이가 OMS로 영화 재해석을 했다. 동영상도 실행되고, 효과음도 나왔다면 더 재밌는 발표가 될 수 있었을 텐데 강의실이나 상황이 열악해서 안타까웠다. 마지막에 시간이 모자라서 코드레이스를 하지 않고, 간단히 Snowball Keyword 게임을 했는데 규칙을 잘못 이해하고 얘기하여 바로 탈락했다. 다음에는 좀 더 의도를 잘 파악하도록 집중해서 들어야 겠다. - [강소현]
          * 제가 "실용적"이라는 단어를 잘못 사용했네요. 이 단어를 사용하는 게 아니었습니다....... 언어가 너무 "중구난방"한 느낌이 들어서, 별로 "제가 쓸 일이" 없을 것 같다는 의미를 전달하려 했어요. - [황현]
  • 제12회 한국자바개발자 컨퍼런스 후기 . . . . 3 matches
          간단하게 점심을 먹고 본인은 첫 세미나로 Track 3에서 한 아키텍트가 알아야 할 12/97가지를 들었다. 그 내용중에서 STAN으로 프로그램의 상태를 보여주는 부분이 인상깊었다. 그렇다고 여기에 너무 민감하게 반응하지는 말라던.. 그리고 그 곳에 심취해 있다고 단순히 신기술이라고 무조건적으로 사용하기 보다는 이런 저런 상황을 고려하라는 것.. 가장 생각나는 것은 문제는 기술의 문제가 아니라 모든 것은 사람에 관한 것이다라는.. 모든 일은 나 자신으로부터 비롯된다라고 생각하고 있었는데 그 부분과 어느정도 상통하는 이야기였던 것 같다.
          그 다음으로 Track 5에서 있었던 Java와 Eclipse로 개발하는 클라우드, Windows Azure를 들었다. Microsoft사의 직원이 진행하였는데 표준에 맞추려고 노력한다는 말이 생각난다. 그리고 처음엔 Java를 마소에서 어떻게 활용을 한다는 건지 궁금해서 들은 것도 있다. 이 Windows Azure는 클라우드에서 애플리케이션을 운영하든, 클라우드에서 제공한 서비스를 이용하든지 간에, 애플리케이션을 위한 플랫폼이 필요한데, 애플리케이션 개발자들에게 제공되는 서비스를 위한 클라우드 기술의 집합이라고 한다. 그래서 Large로 갈 수록 램이 15GB인가 그렇고.. 뭐 여하튼.. 이클립스를 이용해 어떻게 사용하는지 간단하게 보여주고 하는 시간이었다.
          네 번째 시간으로는 Track 3에서 모바일 웹 개발 플랫폼을 들었는데.. 뭔가 웹에서 사용되는 것은 이러이러한 것이 있습니다라고 50분동안 열거하는 느낌이라 기대보다는 지루했다. -_-a 그래서 사실 기억에 남는 것이 별로 없다..;
  • 제로Wiki . . . . 3 matches
          * 게이트웨이 서버에 추가 서버를 등록만 시키면 유기적으로 다른 서버들과 연결이 된다.(마치 하나의 컴퓨터 처럼 보인다), 각 개인 위키 혹은 카페 위키를 생성할때에 자신의 원하는 서버를 지정하면 그곳에 그 위키가 생성된다. 그 위키에 대한 페이지 데이터들은 모두 그 서버에 저장이 된다. 사용자의 입장에서 보았을때에는 하나의 웹사이트처럼 보인다.
          * 예를 들어서 여러 명이서 특정 책을 중심으로 스터디를 진행할때 스터디 페이지를 각 개인 위키와 공유 페이지로 지정하여 사용할 수 있다.
          * 이메일 및 쪽지로 사용할수도 있음.
  • 제로페이지위키베타 . . . . 3 matches
          * 자신의 개인 위키 서버 선택할시에 제로페이지 회원은 제로페이지 서버를 선택해 주시기 바랍니다.(이미 가입한 회원은 그대로 사용..)
          * 사용하다가 발견되는 버그들은 버그 리포트에 적어 주세요..
          * 조만간 현 위키에 있는 데이터들도 매크로를 사용하여 옮길 예정입니다.
  • 졸업논문/서론 . . . . 3 matches
         이 가운데 경량 프로그래밍 모델을 적용한 웹 기술이 계속 발전해가고 있다. 웹2.0 사이트는 Adobe Flash/Flex, CSS, 의미를 지닌 XHTML markup과 Microformats의 사용, RSS/Atom를 사용한 데이터 수집, 정확하고 의미있는 URLs, 블로그 출판들 같은 전형적인 기술을 포함한다.[2]
         본 논문에서는 django의 사례를 바탕으로 기민한 웹 어플리케이션 프레임워크가 데이터베이스를 어떻게 추상화했는지 살펴본다. 또한 django가 어떻게 추가적으로 데이터베이스를 사용하도록 API를 지원하는지 살펴본다. 마지막으로 django에서 지원하지 못하는 기능을 살펴보고, 미비한 부분을 개선할 방안을 제시한다.
  • 최소정수의합/조현태 . . . . 3 matches
          * 1에서 n수까지 합 공식을 사용한것 같은데, 알고리즘 측면으로 공부하는 것이라서, 원리적인 알고리즘을 사용하는 코드를 사용하면 좋을 것 같네요. 비록 제 생각이긴 하지만, 복잡한 문제에서는 공식을 알 수 없을 것 같아서요^^ -[허아영]
  • 큐와 스택/문원명 . . . . 3 matches
         여기서 의문점은 string헤더 파일을 include하지 않고 배열을 char *형으로 하고 #1,#2,#3을 strcpy를 사용하여 고치고 실행한 후,
         그리고 위키의 사용 방법이나, 철학들을 [도움말]을 기점으로 따라가서 읽어보시면 알수 있습니다. 그러나 단발성 게시판에 익숙한 많은 분들이 쏟아지는 정보에 두드러기가 날지도 모르겠군요. ^^;; 위는 그중 필요한 링크 입니다. --NeoCoin
          ps. 초반에 데블스 캠프를 대비한 ZeroWiki의 사용 방법에 대한 정책이 부재했던것 같습니다. 하지만, 이 자체가 즐거운 학습의 기회가 될수 있을 것 같습니다.
  • 토이/메일주소셀렉터/김남훈 . . . . 3 matches
         사용언어 lex
         메일주소 규칙 : 영어대소문자 숫자 하이픈 언더바 '.' 사용 가능. 단 '.' 은 시작과 끝에 지정 불가. 2자 이상.
         도메인 네임 규칙 : 영어대소문자 숫자 하이픈 사용가능. 단 하이픈은 시작과 끝에 지정 불가. 2자 이상.
  • 튜터링/2013/Assembly . . . . 3 matches
          * 이 과목에서 가장 주로 다루는 어셈블리 언어를 사용하는 이유와 현재 어떤 곳에 사용되는지, 특징은 무엇이며 장단점은 무엇인지 알아보자.
          * 2중 for문을 사용하여 다음 모양의 별찍기를 작성해보자.
  • 파스칼삼각형/sksmsvlxk . . . . 3 matches
         '''수학공식을 사용했다면 소스코드의 길이가 더 줄어들었을 것.'''
          //using namespace std 그냥 사용했음..
          * 내가 사용할 수 있는 함수가 존재하는 지 알아야 한다.
  • 페이지이름 . . . . 3 matches
          1. 위키위키에서 ["페이지이름"]은 너무나도 중요한 역할을 합니다. 제로위키에서 사용되어야할 페이지이름 규칙도 생각을 해보는게 좋을것 같습니다. NoSmok:페이지이름 페이지에 참고하기 좋은 내용들이 있습니다.
          * 영문 제목의 경우 모두 빈칸을 붙여서 사용한다. (제목으로 표시될때 자동으로 단어의 대문자 단위로 빈칸을 띄어주므로)
          사랑방과 같은 시스템에서의 문서구조조정은 그 노력이 많이 듭니다. 일관된 주제로 얘기하기가 힘들어지기 때문입니다. 따라서 되도록이면 피해야할 구조가 아닐까 생각합니다. 페이지 이름에 제안임이 명시적으로 드러나지 않아도 위키를 사용하는 사람들의 관심을 끌만큼 흥미로운 내용을 담고 있다면 괜찮다고 생각합니다. 조만간 이 부분은 ["페이지이름"] 페이지로 옮겨서 얘기해봐도 좋을듯 합니다. --["이덕준"]
  • 포커솔리테어평가 . . . . 3 matches
         카드는 5x5 행렬에 나눠진다. 각 행과 열을 구성하는 5장의 카드에서 가장 높은 계급을 결정하는 것이다. 계급의 순서는 노 페어, 원 페어, 투 페어, 트리플, 스트레이트, 플러시, 풀 하우스, 포캉드, 스트레이트 플러시로 구성된다. 패는 가장 높은 계급으로 한 번만 사용된다. 예를 들어, 포카드는 투 페어나 트리플로 다시 사용되지 않는다.
         5. 스트레이트 : 아래 계급 중 어떠한 것도 해당되지 않으며, 5장의 카드의 숫자가 순차적으로 구성되는 경우. A(에이스)는 14나 1로 사용될 수 있다. 예를 들어, AC, 2H, 4D, 3H, 5S도 스트레이트 이며, JH, XD, QC, KD, AS도 스트레이트 이다.
  • 프로그래밍십계명 . . . . 3 matches
         9. 사용자가 알아서 잘 써 주리라고 희망하지 말지어다.
          *너의 프로그램은 항상 바보와 미친놈만이 쓰느니라. 사용 설명서를 쓸 때에는 결코 빠뜨리지 말아라. 빠뜨린 만큼 사용자는 너를 괴롭힐 것이니라.
  • 현재 위키에 어떤 습관이 생기고 있는걸까? . . . . 3 matches
          * 이름의 하위 분류로 / 를 사용한다. 예) [삼총사CppStudy]하위에 속한 [삼총사CppStudy/숙제1] 페이지
          + 길에 비유를 했었는데 우리는 0'Wiki를 사용함으로 해서 익숙한 길이 있기 때문에 1'Wiki에도 역시 똑같이 사용하는것 같습니다. 이대로 페이지가 쌓인다면 0'Wiki와 똑같이 되지 않을까 합니다.-[상욱]
  • 홈페이지만들기/css . . . . 3 matches
         글꼴 크기에 사용되는 단위는 아주 다양하게 있다. 단위를 사용하지 않으면 기본적으로 픽셀 단위를 사용한다.
  • 05학번만의C++Study/숙제제출/2 . . . . 2 matches
          * 평상시에는 문자열의 주소를 하나의 전달인자로 취하여, 그 문자열을 한 번 출력하는 함수를 작성하라. 그러다가 0이아닌 int형 값을 두 번째 전달인자로 제공하면, 그 시점에 도달할 때까지 그 함수가 호출되었던 횟수만큼 그 문자열을 반복해서 출력한다. (문자열이 출력되는 횟수는 두 번째 전달인자의 값이 아니라 그 함수가 호출되었던 횟수와 같다.)물론 이 함수는 거의 쓸모가 없다. 하지만 이것은 이 장에서 설명한 몇 가지 프로그래밍 기술을 사용할 것을 요구한다. 이들 함수를 사용하여 함수의 작동을 보여 주는 간단한 프로그램을 작성하라
  • 1thPCinCAUCSE/null전략 . . . . 2 matches
         도구는 연습장과 인덱스 카드, assert 문을 이용한 테스트 케이스 등을 이용했습니다. 연습장과 인덱스 카드는 주로 개개인 수식과 중요 변수들을 적기 위해, 또는 그림을 그리기 위해 이용했고 (두 도구의 용도가 구분되어있진 않았음) 문제에 대해서 답이 나왔다하는 가정하에 (문제지에 Sample Input->Output 이 나와있었기에 가능했습니다.) Backward 로 문제가 해결된 상황을 가정하고, 그러기 위해 필요한 변수들을 찾아나가는 방법으로 진행했습니다. 프로그래밍 스타일은 Structured 스타일의 Stepwise Refinement & PBI & assert 를 이용한 TDD 를 사용했습니다.
         적절히 중복코드를 삭제하고 난 뒤, 한 5분정도 Input-Output 코드를 iostream 과 ["STL/vector"] 를 사용하여 작성한 뒤 이를 제출, 통과했습니다.
  • 2002년도ACM문제샘플풀이/문제B . . . . 2 matches
          * STL 사용하면 쉽게 풀 수 있다는 걸 알고 있었지만 일부러 STL을 사용하지 않았습니다. 알고리즘적으로 머리를 쓰는 걸 훈련하기 위해...^^
  • 2010JavaScript/역전재판 . . . . 2 matches
          <span class='think'>(span 을 사용했음)</span><br>
          <span class='think'>(span 을 사용했음)</span><br>
  • 2010PHP . . . . 2 matches
          * 이모티콘은 우리가 제공하는 것만 사용할 수 있다.
          * DB는 Mysql을 사용한다.
  • 2ndPCinCAUCSE/ProblemA . . . . 2 matches
         같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있는 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오. 예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 3가지이다.
          (1) 주어진 성냥개비는 모두 사용하여 하나의 삼각형을 만들어야 한다.
  • 3D프로그래밍시작하기 . . . . 2 matches
          * 옛날 D3d에는 모드가 두가지가 있었는데요 retained mode 하구 immediate mode 가 있었는데 retained 가 immediate위에서 한계층 더 추상화 시킨것이라 하더군요. 보통 immediate를 사용하는것 같더랬습니다. d3d안써봐서리.. --; 정확하진 않지만
         이 시점에서 여러가지 해결해야 할 사항이 생기는데, 첫째로는 파일 포맷에 대해서 정확히 이해하고, 각 항목이 어떤 역할을 하는 것인지를 알아야 하겠으며, 둘째로는 비교적 여러단계로 복잡하게 구성되어 있는 3D Scene Data 를 효율적으로 정렬하기 위한 자료구조를 내 프로그램에 심는 것입니다. STL 같은 라이브러리를 능숙하게 사용할 수 있다면 많은 도움이 될 것입니다. 가급적이면 계층적으로 구성된 모델을 읽을 수 있도록 해야 나중에 애니메이션도 해보고 할 수 있겠죠. 세째로는 기본 이상의 가속기에 대한 조작을 할 수 있도록 d3d_renderstate 들에 대해서 알아두는 것입니다. 최소한 바이리니어 필터링을 켜고 끄고, 텍스춰 매핑을 켜고 끄고, 알파블렌딩, 등등을 맘먹은대로 조합해볼 수 있어야겠죠
  • 3N+1Problem . . . . 2 matches
          || 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(i=1,j=999999 기준 4초 통과) ||
          || 작성자 || 사용언어 || 개발(수정)시간 || 코드 ||
  • 5인용C++스터디/소켓프로그래밍 . . . . 2 matches
          서버와 동일한 방법으로 클라이언트 프로그램에서 사용할 소켓 클래스 CClientSock을 생성(기초 클래스: CAsyncSocket)한다. 그리고 나서 [클래스위저드]의 CClientSock에 가상함수 OnReceive()와 OnClose()를 추가한 후, 다음 코드를 삽입한다.
          그리고 [클래스위저드]의 CConnectDlg에 IDOK를 맵핑하여 사용자가 입력한 IP 주소를 멤버변수 m_strAddress에 저장한다.
  • 5인용C++스터디/클래스상속 . . . . 2 matches
         == private 대신 protected를 사용이유 ==
         이에 protected키워들를 사용해서 현재클래스와 상속하는 클래스에게만 엑세스를 허용한다.
  • 5인용C++스터디/타이머 . . . . 2 matches
          * 타이머는 어떻게 사용하나?
          * 멀티미디어 타이머는 어떻게 사용하나?
  • AKnight'sJourney . . . . 2 matches
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || [강소현] || 사용언어 || 개발시간 || [AKnight's Journey/강소현] ||
  • AM/AboutMFC . . . . 2 matches
         MFC의 정확한 동작 원리를 알고 싶다면, 2000년 5~8월 사이의 프로그래밍세계의 MFC관련 기사를 추천합니다.(도서관에 있고, 복사할수 있습니다.) 재미있는 자료입니다. 저는 우연히 01년 상반기에 기사의 필자 곽용재씨에게 해당 내용에 대한 강의를 들은적이 있는데, 그때 그림 사용을 허락맡고 [MFCStudy_2001]를 위해 자료를 만들어서 세미나를 했습니다.
         F12로 따라가는 것은 한계가 있습니다.(제가 F12 기능 자체를 몰랐기도 하지만, F12는 단순 검색에 의존하는 면이 강해서 검색 불가거나 Template을 도배한 7.0이후 부터 복수로 결과가 튀어 나올때가 많죠. ) 그래서 MFC프로그래밍을 할때 하나의 새로운 프로젝트를 열어 놓고 라이브러리 서치용으로 사용합니다. Include와 Library 디렉토리의 모든 MFC관련 자료를 통째로 복사해 소스와 헤더를 정리해 프로젝트에 넣어 버립니다. 그렇게 해놓으면 class 창에서 찾아가기 용이하게 바뀝니다. 모든 파일 전체 검색 역시 쉽게 할수 있습니다.
  • ATmega163 . . . . 2 matches
          * Makefile 사용
          * avr_gcc 사용법[[BR]]
  • AcceleratedC++/Chapter3 . . . . 2 matches
          * 평균값 대신에 중간값을 사용하는 프로그램으로 변경한다.
          * vector 사용하기
  • AcceleratedC++/Chapter4 . . . . 2 matches
          * 여기서 살펴볼 게 몇가지 있다. 지난번에는 vector의 크기가 0이면 그냥 프로그램을 종료시켜버렸지만, 여기서는 예외처리라는 신기술을 사용했다. 이 방법은 여기서 끝내지 않고 다음 부분으로 넘어간다. <stdexcept>를 포함시켜 주면 된다.
          * exception : 사용자에게 무엇이 잘못되었는가를 알려주는 exception을 던져준다.
  • ActiveTemplateLibrary . . . . 2 matches
         //CComQIPtr 사용
         //일반적인 COM interface 사용
  • BasicJAVA2005/실습1/조현태 . . . . 2 matches
          //// 사용자의 입력을 받습니다. ////
          //// 사용자 입력 체크 ////
  • BeeMaja . . . . 2 matches
         마야라는 꿀벌이 있다. 마야는 수천 마리의 다른 벌들과 함께 육각형 모양의 벌집에서 살고 있다. 그런데 마야에게 문제가 생겼다. 그녀의 친구 윌리가 만날 장소를 알려줬는데, 윌리(숫놈 일벌)와 마야(암놈 일벌)는 서로 다른 좌표계를 사용한다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Beginning_XML . . . . 2 matches
         *1 XML 문법, 컴팩트 문법 사용
         == 패턴과 문법 결합 및 재사용 ==
  • BlogLines . . . . 2 matches
         써본 경험에 의하면... publication 으로 개인용 블로그정도에다가 공개하기엔 쓸만하다. 그냥 사용자의 관심사를 알 수 있을 테니까? 성능이나 기능으로 보면 한참멀었다. 단순한 reader 이외의 용도로 쓸만하지 못하고, web interface 라서 platform-independable 하다는 것 이외의 장점을 찾아보기 힘들다. - [eternalbleu]
          feed demon 을 주로 쓰고 있는데... 이유는 ㅡ.ㅡ;; 실행이 빠르고 watch 기능등이 있다는 정도랄까요 ;; xpyder, yeonmo 같은 것도 설치는 해봤는데.. 약간 느린 바른 속도때문에 바로 지우고야 말았다는.. 아무래도 조급증에 걸린것 같습니다. 아 그리고 블로그에 가면 tatter를 이용해서 사용합니다. - [eternalbleu]
  • BoaConstructor . . . . 2 matches
          4. 재사용될 것 같은 모듈들에 대해 UnitTest 를 붙여나간다. 추후 추출용.
          5. 정식 버전은 TDD 로 다시 DoItAgainToLearn. WingIDE + VIM 사용. (BRM 을 VIM 에 붙여놓다보니. 그리고 WingIDE 의 경우 Python IDE 중 Intelli Sense 기능이 가장 잘 구현되어있다.)
  • Boost . . . . 2 matches
         Boost 는 자유롭게 사용할수 있는 C++ 라이브러리 이다.
          * ["Boost/SmartPointer"] : Boost 에서 제공되는 스마트 포인터 사용 방법
  • BoostLibrary . . . . 2 matches
         Boost 는 자유롭게 사용할수 있는 C++ 라이브러리 이다.
          * [BoostLibrary/SmartPointer] : Boost 에서 제공되는 스마트 포인터 사용 방법
  • BusSimulation . . . . 2 matches
          * User Input - 사용자는 자신이 원하는 시간 후의 시물레이션 결과를 볼 수 있다. 시간과 분을 입력받는다.
         Discrete Event Simulation이 되겠군요. 사람이 몇 명이 기다리느냐, 길 막힘 상태 등은 이산 확률 분포를 사용하면 될 것입니다. NoSmok:TheArtOfComputerProgramming 에서 NoSmok:DonaldKnuth 가 자기 학교 수학과 건물 엘레베이터를 몇 시간 관찰해서 데이타를 수집한 것과 비슷하게 학생들이 직접 84번, 85-1번 등의 버스를 타고 다니면서 자료 수집을 해서 그걸 시뮬레이션 실험하면 아주 많은 공부가 될 것입니다 -- 특히, 어떻게 실세계를 컴퓨터로 옮기느냐 등의 모델링 문제에 관해. 실제로 NoSmok:DonaldKnuth 는 TAOCP에서 이런 연습문제를 만들어 놨습니다. 제가 학부생 때 누군가 이런 숙제를 내줬다면 아마 한 두 계단(see also ["축적과변화"]) 올라설 계기가 되지 않았을까 하고 아쉬울 때가 있습니다. 이 문제에 드는 시간은 하루나 이틀 정도가 되겠지만 여기서 얻은 경험과 지혜는 십 년도 넘게 자신의 프로그래밍 인생에 도움이 될 것이라 믿어 의심치 않습니다. (팀으로 문제 해결을 하면 더 많은 공부가 되겠지요) see also ProgrammingPartyAfterwords 참고자료 --JuNe
  • C++HowToProgram . . . . 2 matches
         Deitel 부자의 C++ 개론 서적. 대학에서 교재로 많이 사용한다.
         C++ 사용자 그룹에서는 "초보자에게 괜찮은 책"이라는 평가와 동시에 "형편없는 책"으로도 악명이 높다. see also [http://www.accu.org/bookreviews/public/reviews/cp/cp003204.htm ACCU review]
  • CPPStudy_2005_1 . . . . 2 matches
          [http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. (공개)
          * 혼자 공부할때는 절대로 안했을 짐한 것들을 사용
  • CarmichaelNumbers/조현태 . . . . 2 matches
          일단 소수이면 안되기 때문에 살포시 저번에 [FactorialFactors] 에서 사용했던 알고리즘을 사용해서 단시간에 소수인지 확인하도록 하였다.
  • CeeThreadProgramming . . . . 2 matches
         윈도우 유저레벨 동기화 방법. 가장 사용이 간단하다.
         VS.NET에서도 함수이름을 인식하지 못하는 경우 프로젝트 세팅에서 MFC라이브러리를 사용하도록 해보세요.
  • Chopsticks . . . . 2 matches
         중국에서는 음식을 먹을 때 젓가락 두 개를 쓰지만, L씨는 조금 다르다. 그는 젓가락 세 개를 사용한다. 셋 중 하나는 긴 젓가락으로, 음식을 쿡 찍어먹기 위한 용도로 쓰인다. 두 개의 일반 젓가락의 길이는 최대한 비슷해야 하지만 나머지 하나는 무조건 제일 길기만 하면 된다. 길이가 각각 A, B, C(A<=B<=C)인 세 개의 젓가락이 있을 때 (A-B)^2을 계산하면 두 젓가락이 짝이 안 맞는 정도를 구할 수 있다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • CollectiveOwnership . . . . 2 matches
         만약 누군가가 클래스의 인터페이스를 변경했으면 변경된 클래스를 사용하는 모든 클라이언트 코드에서 오류가 발생할 것이다. 그렇게되면 클래스를 변경한 사람이 모든 오류를 수정해야만 하는가, 아니면 먼저(컴파일 시간에 오류가 발생할꺼 같은데) 발견한 사람이 수정해야 하는가?
         Wiki:RefactorLowHangingFruit . 고쳐야 할 것이 많다면 오히려 조금씩 고치도록 한다(그리고 고치는 작업을 엔지니어링 태스크로 혹은 유저 스토리로 명시화해서 관리한다). 고치는 중에, 5분 정도의 단위로 테스트를 해봐서 하나도 문제가 없도록 고쳐 나가야 한다. 섬과 육지를 연결하는 다리가 있을 때, 이걸 새 다리로 교체하려면 헌 다리를 부수고 새 다리를 만드는 것이 아니고, 새 다리를 만든 다음 헌 다리를 부수어야 하는 것이다. {{{~cpp formatText(String data)}}}을 {{{~cpp formatText(String data,boolean shouldBeVeryFancy)}}}로 바꾸어야 한다면, {{{~cpp fancibleFormatText}}}를 만들고, 기존의 {{{~cpp formatText}}}를 호출하는 곳을 {{{~cpp fancibleFormatText(data,false)}}}로 하나씩 바꿔나가면서 계속 테스트를 돌려보면 된다. 이게 완전히 다 되었다고 생각이 들면 {{{~cpp formatText}}} 정의를 지워본다. 문제가 없으면 {{{~cpp fancibleFormatText}}}를 {{{~cpp formatText}}}로 rename method 리팩토링을 해준다. 하지만 만약 이 작업이 너무 단순 반복적인 경우에, 충분히 용기가 생기고, 또 확신이 들면 이 작업을 자동화할 수 있다(OAOO). 예컨대 IDE에서 지원하는 자동 리팩토링을 사용하거나, 정규식을 통한 바꾸기(replace) 기능을 쓰거나, 해당 언어 파서를 이용하는 간단한 스크립트를 작성해서 쓰는 방법 등이 있다. 이렇게 큰 걸음을 디디는 경우에는 자동화 테스트가 필수적이다.
  • CommonState . . . . 2 matches
         초기 컴퓨터는 용량이 너무 적어서, 프로그램 짧게 만들기 이런걸 많이 해야만 했다. 당연하지만 그걸 알아볼 수 있으리라는 기대는 하지 않았다. 그러다가 용량이 커지니까 이제는 많고 많은 state들을 사용하는 많고 많은 함수들을 많이 사용하게 되었다. 하나 고칠라면 전체를 뜯어 고쳐야 했다. state로서의 프로그램은 안좋다. 그러니 state도 안좋다(??) 이런 상황에서 state가 없고, 프로그램만 있는 함수형 언어가 나오게 되었다. 개념적인 우아함과 수학적인 우아함을 갖추고 있음에도 불구하고, 상업적인 소프트웨어를 만드는데에는 전혀 쓰이지 않았다. 이유는 사람들은 state를 기반으로 생각하고 모델링하기 때문이었다. state는 실세계에 대해 생각하는 좋은 방법이다. 객체는 두 가지의 중간이다.(?이렇게 해석해야하나..--;) state는 잘 다뤄질때만 좋다. 작은 조각으로 나누면 다루기 쉬워진다. 이렇게 하면 변화를 어느 한 곳만 국한시킬 수 있게 된다.
  • ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 2 matches
         네트워크의 3번째 프로젝트를 하기위해서는 SIO_RCVALL 라는 옵션을 설정하여 사용할 줄 알아야한다. 유사한 옵션으로는
         ※ 윈도우 소켓 프로그래밍을 위해서는 윈속 라이브러리를 같이 linking 해야하며, WSActrl 을 사용하기 위해서는 winsock2 라이브러리인 ws2_32.lib 를 포함해야한다.
  • CppStudy_2002_1 . . . . 2 matches
          * C++의 문법도 익히고, 나아가서 사용법, OOP에 대해서 더 친숙 해지기, 다양한 과제를 통한 프로그래밍 경험 쌓기
         || 8.1 ||10.클래스를 사용하자(64page)||["StringOfCPlusPlus"] ||
  • CppStudy_2002_1/과제1 . . . . 2 matches
          * 문제1번 : 여기서도 전역 변수를 많이 사용한거 같다. 이것은 피하는게 좋다. 여기서 함수가 호출한 갯수를 알아야 하는데 이때는 static 이라는 키워드를 사용하면 된다.
  • CppStudy_2005_1/BasicBusSimulation . . . . 2 matches
          * 시내 버스가 제 각각 다른 속도로 시내를 순환 한다. 이때 사용자로부터 입력 받은 특정 시점에서의 각 버스가 위치하는 지점을 출력해준다.
         == 사용자 입력 ==
  • Cpp에서의멤버함수구현메커니즘 . . . . 2 matches
         C++은 Strong typed language 이므로 컴파일 시간에 모든 형이 선언되고, 사용되는 것을 검증할 수 있습니다. 하지만 이는 다음과 같은 지역 변수에 국한합니다.
         instance에 사용되었던 메모리는, 해당 process의 가용 메모리로 돌아가지, 접근 금지 영역으로 세팅되지 않습니다. 이 부분은 delete this 시 해당 instance 영역의 값을 어떻게 "청소"하느냐에 따라서, 플랫폼 별로 다르게 나옵니다.
  • Cracking/ReverseEngineering/개발자/Software/ . . . . 2 matches
         (윈도우즈 시스템 커널이 하는 일등을 배울 수 있으며 그것을 이용해 나쁘게 사용하든 좋게 사용하든 도움이 많이 되는 책이다. Windows에 Base를 둔 Software 개발자로서는 꼭 읽어야할 책.)
  • CreativeClub . . . . 2 matches
          * 개인적으로 진행한 프로젝트 등을 손봐서 공모전에 사용하지 않음
          * 학회실을 자주 사용하도록 유도한다.
  • CryptKicker . . . . 2 matches
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         송수신가자 모두 가진 무언가 공통의 법칙이 필요했을것이고, 그렇게 되면 보안상의 문제가 발생하게 되는것이다. 직접 만나서 건낼 수 있다면 좋지만, 직접 만날거면 뭣하러 암호화된 문장을 사용하겠는가. 아무튼 암호화 규칙이 노출되지 않게 하기위해서는 상당한 노력이 필요했을것이다.
  • CryptKicker2 . . . . 2 matches
         여러 줄의 텍스트가 주어졌을 때 같은 케이스에서는 모든 줄에서 같은 치환 방법을 사용한다고 가정하고 그 중 한 줄은 the quick brown fox jumps over the lazy dog라는 평문을 암호화한 것이라는 점을 이용해서 암호화된 텍스트를 복호화하라.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • CssMarket . . . . 2 matches
         CSS 로 다음을 사용해 보세요. UploadFile 에 저장되어 있습니다.
         외부에서 사용하시기 위해서는 앞에 http://zeropage.org/pub/upload/hirenn.css 같이 해주세요.
  • DataStructure/List . . . . 2 matches
          * 리스트를 사용하는 간단한 예
          * Double Linked List를 사용한 간단한 예(3개의 노드를 예로 듬)
  • DatabaseClass/Exam2004_1 . . . . 2 matches
         ESQL 에서의 cursor 가 필요한 이유를 쓰고, 사용법에 대해 간단한 Source Code 예를 들어 설명하시오
          - (튜플변수관련. 튜플 변수 사용 안하고 같은 테이블끼리 비교한 예)
  • DebuggingSeminar_2005 . . . . 2 matches
          || [DebuggingSeminar_2005/UndName] || UndName 사용법 ||
          || [DebuggingSeminar_2005/AutoExp.dat] || VC IDE의 Watch 윈도우에 사용자 데이터형의 표현형을 추가하는 파일 ||
  • DocumentObjectModel . . . . 2 matches
         대부분의 XML파서들 그리고 XSL 처리기들은 트리구조를 사용할 수 있도록 개발되었다. 그러한 구현물들은 메모리 안에서 문서의 전체 내용이 파싱되고 저장되는 것이 필요했다. 따라서 DOM은 임의로 접근하고 다루어 질 수 있는 document 요소를 가지는 응용프로그래에서 사용하기좋다. XML기반의 응용프로그램들이 한번 파싱을 할때 읽거나, 쓸수 밖에 없기 때문에 DOM은 메모리 상에서 상당한 오버헤드적 요소를 가지고 있다. SAX 모델은 속도, 메모리의 비효율성 면에 있어서 이점을 가진 모델이다.
  • EclipsePlugin . . . . 2 matches
         Eclipse 사용할 때 유용한 Plug-in 정리
         단 jsp 파일을 servlet 파일로 변경하면서 jsp 파일의 상위폴더를 패키지 명으로 사용하는데 이 때문에 warning 이 발생하는 아주 작은 문제가 있다. :)
  • EffectiveSTL/VectorAndString . . . . 2 matches
         == 크기를 유지하고 싶다면 reserve 메소드를 사용하자. ==
          * reserve를 사용하면 재할당, 반복자, 포인터, 참조 등등의 갱신을 최소화 시킬수 있다.
  • EightQueenProblem/용쟁호투 . . . . 2 matches
         C, C++, Python, Java, Delphi등이 있었으나...제가 주로사용하는 Powerbuilder로 해보고 싶은 마음에 도전하게 되었습니다...
         재귀하는것이 귀찮아서 봉인되어있던 GOTO문을 사용했습니다...
  • EmbeddedSystem . . . . 2 matches
          * 임베디드 시스템은 더 큰 시스템의 구성요소를 이루거나 사람의 개입 없이 동작하도록 기대되는 하드웨어와 소프트웨어이다. 전형적인 임베디드 시스템은 전원이 켜져 동작하기 시작하면 전원이 꺼질 때까지 멈추지 않는 특수한 용도로 사용하는 일부 응용 프로그램을 시동하는 롬에 들어 있는 소프트웨어를 포함하는 단일 보드 마이크로컴퓨터이다. 임베디드 시스템은 운영체제를 포함하거나 단일 프로그램으로 작성할 수 있을 만큼 단순할 수 있다. 시스템에 필요 없을 경우 키보드, 모니터, 직렬 통신, 대용량 기억 장치와 같은 일반적인 주변 장치나 사용자 인터페이스 소프트웨어를 지원하지 않는다.그리고 실시간성을 요구할 때도 있다.
  • EmbeddedSystemClass . . . . 2 matches
         실습에서 사용하는 리눅스는 레드햇 9.0으로 상당히 오래된 버전을 이용한다.
         '''(리눅스를 처음 다루는 분이라면 실습에서 사용하는 레드햇을 이용하는 것이 좋다고 생각함)'''
  • ErdosNumbers/황재선 . . . . 2 matches
          * 자바 1.5의 새로운 기능을 조금 사용해보았다. 클래스 Scanner는 이전 방식으로 하는 것보다 훨씬 편한 기능을 제공해 주었다. for loop에서 신기하게 배열을 참조하는 방식이 Eclipse에서 에러로 인식된다.
          이클립스 최신버전을 사용하면 되던데?! -[문보창]
  • Erlang/기본문법 . . . . 2 matches
          * 변수의 대입은 기존에 쓰던 방식과 같다. 물런 사용도 그대로 하면된다.
          * C / C++ / Java 와 같이 정수형을 리턴하려면 div를 사용하며 나머지는 rem을 통해서 얻을 수 있다.
  • ExtremeProgramming . . . . 2 matches
          * UserStory: 사용자 관점에서 시스템의 행위에 대한 간략한 서술
          * AcceptanceTest: 사용자 관점에서 해당 작업산출물이 제대로 돌아가는지 확인할 수 있는 테스트.
  • FortuneMacro . . . . 2 matches
         == 사용예 ==
         Fortune 매크로는 fortune파일의 인덱스를 직접 읽어들여 사용하므로 FortuneCookies를 읽어들이는 RandomQuoteMacro보다 매우 빠릅니다. :)
  • FreechalAlbumSpider . . . . 2 matches
         제가 python을 전혀 몰라서 그러는데요, 이거 사용법좀 알려 주시겠어요.
          늦게서야 보게 되어서..; 지금도 작동을 할런지는 잘 모르겠습니다. 알바때문에 바빠서 유지보수를 못하는 중인지라.. freechal service UI 가 바뀌면 깨지는 녀석일것인지라..; 사용하기전에 필요한 것으론 Python 2.2x 버전 정도와 MySQLdb 라이브러리가 필요하고요. 해당 proper.py 화일을 맞춰주신뒤, freechalscript.py 를 실행해주시면 됩니다. 같은 역할을 하는 프로그램은 http://www.perlmania.or.kr 에서 먼저 구현된걸로 기억합니다. 거기서 해당 강좌도 있던걸로 기억하오니 참조하세요. --[1002]
  • FromDuskTillDawn/조현태 . . . . 2 matches
          일단 수많은 귀차니즘으로 약간의 전역변수를 사용하였으며..
          참고 : 나름대로 약간의 최적화가 되어있다. 그러나~ vector가 아닌 list를 사용한다면 좀더 효과적일듯하다.ㅎ 이런 귀차니즘~
  • Gof/Adapter . . . . 2 matches
          * 이미 만들어져 있는 클래스를 사용하고 싶지만, 인터페이스가 원하는 방식과 일치하지 않을때.
          * 관련성이 없거나, 예측하지 못한 클래스들과 협동하는 재사용가능한 클래스를 생성하기 원할때. 이 경우 클래스들이 호환성을 가지는 인터페이스를 필요로 하지 않는다.
  • HanoiProblem/영동 . . . . 2 matches
          mov bx, 10 ;Writeint사용시에 10진수 출력
          mov ax, by ;by와 to의 위치를 바꿔줌.(ax를 temp로 사용)
  • HardcoreCppStudy/두번째숙제 . . . . 2 matches
          * this포인터란 무엇이며 사용되는 경우를 찾아보세요.
          * 각 값을 비교하는 과정에서 this포인터를 사용합니다.
  • HardcoreCppStudy/두번째숙제/This포인터/변준원 . . . . 2 matches
         클래스 멤버내의 함수에서 자신의 함수를 호출할때 명시적 또는 묵시적으로 사용하는
         했을때 Save함수 내에 GetA라는 함수를 호출한다고 하면 다음과 같이 사용
  • HelpOnRules . . . . 2 matches
         네가이상의 "-"를 사용하면 가로줄이 됩니다. 대쉬의 개수가 증가할 수록 굵기가 두꺼워지고 10개 이상이면 굵기가 더 이상 증가하지 않습니다.
         === 사용례 ===
  • HerdingFrosh . . . . 2 matches
         4학년 선배는 전신주에 그 명주실을 묶고, 잔디밭 주변을 한 바퀴 돌면서 명주실로 모든 학생들을 감싼 다음 다시 전신주로 돌아온다. 그 선배는 모든 신입생들을 둘러싸는 필요한 최소 길이만큼의 명주실을 사용했으며, 전신주에 명주실을 묶기 위해서 1미터만 남겼다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HowToBlockEmpas . . . . 2 matches
          ''이 방법이 가장 확실함. 아파치 웹 서버에서 IP deny를 시킴. 이때 검색 엔진은 보통 10여개의 IP를 사용하므로 모두 막아줘야 함''
         검색서비스를 제공하고 있는 곳에서는 로봇 에이전트를 사용하여 검색한다는거 아실겁니다. 이러한 로봇은 강제성은 없지만 로봇 배제 표준을 따르도록 프로그래밍 하는 것이 관례 입니다. 웹서버 루트에 robots.txt 파일을 다음과 비슷하게 작성하시면 되겠습니다.[[BR]]
  • HowToDiscussIt . . . . 2 matches
         이럴 경우 '''Subgroup''' 패턴을 사용한다. 사람 수가 적으면 참여도가 높아진다.
         예컨대, 일단 전체 그룹을 모아놓고 간략한 문제 상황 설명과 목적에 대해 컨센서스를 이룬 후에, 학년별 소그룹으로 나누고 자기들끼리 알아서 대표를 선출하고 토론하도록 한다. 선배의 눈치를 볼 필요 없이 자신들만의 의견을 개진, 정리하도록 한다. 얼마 후에 모든 그룹이 모여서 각 소그룹의 대표자가 토의 내용을 요약 발표한다. 이것에 대해 다시 전체 토론을 하고, 또 다시 '''Subgroup'''을 사용할 수도 있다.
  • HowToStudyDesignPatterns . . . . 2 matches
         패턴도 마찬가지인데, 대부분 그 패턴의 필요성을 체감하지 못한 채 그냥 도식적 구조를 외우기에만 주력하는 사람이 많습니다만, 사실 그렇게 되면 어떤 경우에 이 패턴이 필요하고 어떤 경우에는 사용하면 안되는지 등을 알기 힘듭니다. 설령 책에 나온 가이드를 암기했더라도요. 자신의 삶 속에서 문제의식이 구체적으로 실제 경험으로 형성되지 않았기 때문입니다.
         그런데 사실 GoF의 DP에 나온 패턴들보다 더 핵심적인 어휘군이 있습니다. 마이크로패턴이라고도 불리는 것들인데, delegation, double dispatch 같은 것들을 말합니다. DP에도 조금 언급되어 있긴 합니다. 이런 마이크로패턴은 우리가 알게 모르게 매일 사용하는 것들이고 그 활용도가 아주 높습니다. 실제로 써보면 알겠지만, DP의 패턴 하나 쓰는 일이 그리 흔한 게 아닙니다. 마이크로패턴은 켄트벡의 SBPP에 잘 나와있습니다. 영어로 치자면 관사나 조동사 같은 것들입니다.
  • IDL . . . . 2 matches
         물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
  • IntelliJ . . . . 2 matches
         리팩토링시에 JSP 에서 사용된 클래스들도 같이 리팩토링해준다.
         === 사용자 정의 단축키 ===
  • InternalLinkage . . . . 2 matches
         C++ 에서 SingletonPattern 을 구현할때 다음과 같은 방식을 사용하고는 한다.
          ''암튼,결론이 어떻게 되나요? singleton 을 구현하는 용도로 자주 쓰는 static 변수를 사용하는 (주로 getInstance류) 메소드에서는 inline 을 쓰지 말자 인가요? --[1002]''
  • JSP . . . . 2 matches
         ->servlet 변환 -> "쓰레드" 생성 -> 사용자에게 리턴 -> (사용자) -> 웹 브라우저
  • JTDStudy/첫번째과제/상욱 . . . . 2 matches
          * 일단 테스트 무시하고 해. JUnit사용하는 방법은 나중에 알려줄테니깐. - [상욱]
          * JUnit 4.1을 추천합니다. 3~4년 후에는 4.1이 일반화 되어 있겠죠. 사용하다 보니, 4.1은 배열간의 비교까지 Overloading되어 있어서 편합니다. 다음의 예제를 보세요. SeeAlso [http://neocoin.cafe24.com/cs/moin.cgi/JUnit JUnit in CenterStage] --NeoCoin
  • Java/문서/참조 . . . . 2 matches
         채팅 UI를 짜려고 여러가지를 하다가 대화명을 입력하였을 경우에 그 대화명을 저장하려고 String 형태의 대화명을 전달인자로 사용하려고 하였는데 되지 않았다. 그래서 MSN을 통해서 상민이 형에게 그에 대해서 물어보았다. 상민이형이 MSN으로 몇십분에 걸쳐서 알려 주었다.(감사~) 이 문서에 나와 있는 내용에 대해서 아시는 분들도 있겠지만, 저와 같이 잘 모르는 분도 또한 있을거 같기에 도움이 되기를 바라면서 상민이 형이 알려준 내용을 간추려 보았다.
          문자열의자료의 경우 StringBuffer 를 사용하는 걸 권장한다.
  • JavaScript/2011년스터디 . . . . 2 matches
          * [박정근] - javascript에 관한 전반적인 내용들을 배웠습니다. 지난 시간동안 javascript를 공부하면서 배웠던 내용들을 정리하는시간이 되었던것 같습니다. 게다가 이론으로는 알고잇던 프로토타입같은 내용은 실제로 구글개발자 툴의 콘솔을 이용하여 직접 보면서 설명을 들으니 확실히 이해되기도 하였구요ㅋ 관심가는 부분에는 함수형 선언적 프로그래밍인데 함수형 언어를 사용한 적이 없어서 그런 방식으로 프로그래밍 하는 것에 대해 신선함을 느끼고 더 알고 싶어졌습니다. 또 자바스크립트를 하면서 DOM에 관해서도 알아야 겠다는 생각이 들었습니다. 하아.. 공부할게 많네요ㅋ
          * jQuery는 잠정 연기하기로 하고 php와 MySQL, js, html을 다 사용하는 방명록 만들기를 하기로 하였습니다.
  • JavaStudy2002/입출력관련문제 . . . . 2 matches
          * 여러분이 어려워하시는것 같아, 입력 부분을 만들었습니다. 해당 static method의 기능은 한줄을 읽고, 공백이나, 탭을 기준으로 배열을 반환합니다. 사용 방법은 해당 함수의 main 을 참고하시고, 다른 소스에서 import해서 그냥 사용하세요. --["neocoin"]
  • JavaStudyInVacation/진행상황 . . . . 2 matches
          이런것들은 다 같이 찾아보고, 다 같이 토론하고, 다들 이해했으면 하나로 정리해서 써두 될텐데요^^ 위에 AWT와 SWING의 차이도.. 그리고 아래 네트워크를 사용하는 방법도 마찬가지구요~ 이렇게 각자 쓸것까지야... --["상규"]
          * 자바에서 네트워크를 사용하는 방법에 대해 간단히 알아보기.
  • KAIST전산대학원면접/06전기 . . . . 2 matches
         공급이 부족한 이시기에 재사용성과 유지보수성이 중요하다고
         프로그래밍을 짤수 있고 유지보수가 재사용성을 늘릴수 있다고
  • KDP_토론 . . . . 2 matches
          * 로그인의 실명화 - UserPreferences 에 자신의 이름과 password를 등록시키면 자신의 SessionID가 붙는 MoinMoin 바로가기를 얻을 수 있을것임. 그 링크를 즐겨찾기에 놓고 사용하면 자동으로 로그인이 된 상태로 모인모인에 접속가능.
          * GoF 책의 이미지는 GoF 화일에 있는 이미지를 사용하세요.
  • LUA_1 . . . . 2 matches
         Python 언어를 한 동안 사용하다가 최근에는 루아에 관심을 갖게 되었는데, 의외로 루아에 대한 정리 된 자료를 찾는게 쉽지 않았습니다. 또한 오랫동안 C/C++/C#에 얽메여 있으면서 뭔가 새로운 것을 배우고자 하는 욕망에 강좌를 시작하게 되었습니다. 부족한 점이 있지만 저도 배우는 입장에서 루아에 대해 정리해 나가도록 하겠습니다.
          왜 루아를 써야 할까요? Python 도 있고 Ruby, Perl 도 있는데 굳이 루아를 배워야 할 이유가 있을까요? 넵! 있습니다. 루아는 루아 나름의 매력이 있습니다. 그 중 첫째는 작다는 것입니다. 네 매우 작아요. 소스 코드가 5.1.4 버전이 216679 바이트 밖이 하지 않습니다. 이렇게 작으니까 배포할 때 굳이 고민하지 않아도 되겠죠. 그리고 이렇게 작기 때문에 embedded 환경에서도 사용 될 수 있습니다. eLuaProject가 그 중 하나입니다. 그리고 Lua는 Pure C 코드로 Porting 하기도 용의 합니다.
  • LUA_6 . . . . 2 matches
          메타 테이블은 루아에서 테이블을 사용하는 연산자 재정의? 또는 python을 예로 들면 __add__, __sub__ 와 같은 함수라고 볼 수 있습니다. 테이블을 함수가 아닌 연산자로 조작 할 수 있게끔 해 줍니다.
         콜론이 ":" 이 함수에서 사용 될 경우는 함수의 파라미터로 self를 생략하게 할 수 있습니다.
  • LearningGuideToDesignPatterns . . . . 2 matches
         Pattern들은 각각 독립적으로 쓰이는 경우는 흔치 않다. 예를 들면, IteratorPattern은 종종 CompositePattern 과 같이 쓰이고, ObserverPattern과 MediatorPattern들은 전통적인 결합관계를 형성하며, SingletonPattern은 AbstractFactoryPattern와 같이 쓰인다. Pattern들로 디자인과 프로그래밍을 시작하려고 할때에, 패턴을 사용하는데 있어서 실제적인 기술은 어떻게 각 패턴들을 조합해야 할 것인가에 대해 아는 것임을 발견하게 될 것이다.
         FactoryMethodPattern 로 시작하라. 이 패턴은 다른 패턴들에 전반적으로 사용된다.
  • LinkedList/학생관리프로그램 . . . . 2 matches
         -student 구조체 사용(dept, name, num(1~20)
         -기능(콘솔에서 사용자 입력 원소 삽입
  • LispLanguage . . . . 2 matches
         [http://clojure.org/ Clojure] : Rich Hickey가 제작한 Lisp 방언 중 하나. JVM 상에서 돌아가는 Lisp 구현체로, Java API를 직접 불러서 사용하는 것이 가능하다.
         [1002]의 경우 XLISP 라는 윈도우용 프로그램 사용했었다. 언어 자체를 익히는데 최소한의 기능을 제공하는 인터프리터.
  • LoadBalancingProblem . . . . 2 matches
          IPSC 에는 입력을 파일로 받도록 하였으나 여기서는 직접 사용자가 다음과 같은 형식으로 입력한다.
         || 해결자 || 개발시간 || 사용언어 || Source ||
  • MFC/Control . . . . 2 matches
         || 버튼 컨트롤 || 한번의 마우스 클릭으로 응용프로그램과 통신. 라디오 버튼은 다른 버튼과 그룹으로 묶여서 다중 선택이 불가능하도록 한다.[[BR]]반면 체크박스는 개별적인 선택이 가능하다. [[BR]]푸시 버튼은 일반적으로 대화상자를 닫는데 사용된다. ||
         || 스크롤바 || 스크롤바는 독립적이며, 대화상자의 안에서 사용됨 ||
  • MFC/Print . . . . 2 matches
         || m_rectDraw || CRect 객체. 페이지에서 사용 가능한 영역을 논리 좌표로 정의 한다. ||
         || m_strPageDesc || CString 객체로 프린트 preview 동안에 페이지 번호를 나타내기 위해 프레임 웍에서 사용되는 포맷 문자열을 포함한다. ||
  • MFC/Serialize . . . . 2 matches
          직렬화 기능이 작동하는데 있어서 필요한 것. 이는 파일로 부터 객체를 읽을때 객체를 합성하는 프레임웍에 의해 사용된다.
         DECLARE_SERIAL()매크로를 통해서 직렬화 기능의 추가가 가능하다. 내부적으로 new, delete 를 사용하는데, 매모리 릭을 추적하는 코드가 들어가므로 특별히 프로그래머가 신경써야 하는 부분은 없다.
  • MFC/Socket . . . . 2 matches
         === 만든 클래스를 사용하는 부분 ===
         서버에 MFC의 CSocket을 쓰는 것은 그리 바람직해보이지 않네요. 상대적으로 사용하기 좀 어렵겠지만 CAsyncSocket을 써보도록 하세요. (개인적으로는 이것도 별로 추천하지 않습니다. 하지만 MSN이나 네이트온처럼 대형 메신저를 만드는게 아니니까 CAsyncSocket으로도 충분해 보이네요.) 기회가 된다면 MFC Socket말고 Winsock으로 코딩해보세요. --[인수]
  • MFCStudy_2002_2 . . . . 2 matches
          * 기본적인 MFC사용법(?), 간단한 클래스와 함수에 대한 공부
          * 클래스 위저드 사용법에 대한 공부.
  • MFC_ . . . . 2 matches
         4. [CxImage 사용]
  • MemoryUsageInJava . . . . 2 matches
         자바로 작성된 프로그램에서 사용된 메모리 크기 측정. 외부에서 import 된 모듈에서 사용하는 메모리도 측정되는지는 잘..-_-a
  • MineFinder . . . . 2 matches
          * 컴퓨터가 실패했을 경우 자동으로 다시 시작하여, 사용자가 중지시키거나 지뢰를 다 찾을때까지 프로그램을 계속 진행시킨다.
          * 컴퓨터가 실패했을 경우 자동으로 다시 시작하여, 사용자가 중지시키거나 지뢰를 다 찾을때까지 프로그램을 계속 진행시킨다.
  • MobileJavaStudy/Tip . . . . 2 matches
         그러므로 {{{~cpp destroyApp}}} 메소드를 만들 때 {{{~cpp MIDletStateChangeException}}}을 사용해야 하게 된다면 {{{~cpp unconditional}}} 값에 따라 이 값이 {{{~cpp false}}}인 경우에만 {{{~cpp MIDletStatChangeException}}}을 사용하고 {{{~cpp true}}}인 경우는 무조건 {{{~cpp Destroyed}}} 상태로 가야하는 상황이므로 그 상황에 맞게 처리해 주면 된다.
  • ModelViewPresenter . . . . 2 matches
         어플리케이션을 이러한 방법으로 나누는 것은 좋은 SeparationOfConcerns 이 되며, 다양한 부분들을 재사용할 수 있도록 해준다.
         실제 IBM 의 샌프란시스코 프레임워크에 사용되었다고 들었던것 같다. (그래서 그런지 좀 추상적이면서 광고성의 문구로 보이긴 하다 -_-;) --[1002]
  • MoniWikiPo . . . . 2 matches
         msgstr "사용자 설정이 성공적으로 저장되었습니다 !"
         msgstr "사용자 등록"
  • NSIS/예제2 . . . . 2 matches
          ; 사용했던 디렉토리들 제거.
          ; 사용했던 디렉토리들 제거.
  • NUnit . . . . 2 matches
          * C++에서 CppUnit을 사용할수도 있겠지만, [인수]군이 써본바로는, 또한 6.0이 아닌 .Net을 쓴다면 NUnit이 더 좋은것 같다.(어차피 6.0에선 돌아가지도 않지만--;) CppUnit은... 뭔가 좀 이상하다.--; --[인수]
          * MFC에서 사용하기 추가했습니다. 저 방식대로라면 어떠한 방식에서든 쓸 수 있겠네요. --[인수]
  • NextEvent . . . . 2 matches
         Fishbowl이라는 기술은 많은 사람이 토론을 할 경우 사용하는 테크닉입니다. 두개의 동심원으로 좌석을 배치하고 안쪽(어항)에 토론을 하는 사람들이 착석하고, 바깥쪽에 청중이 착석합니다. 안의 사람은 밖의 사람과 대화하지 못하고, 밖의 사람은 안의 사람에게 말을 걸지 못합니다. 안에 있는 사람들이 토론을 하는 것을 밖의 사람들이 어항을 구경하듯 관찰합니다. 여기에 변화를 주게 되면, 안의 사람을 동적으로 교환할 수 있습니다. 밖의 사람 중에 토론에 참여하고 싶은 사람이 있다면 언제든 안으로 들어와서 앉습니다. 그러면 최소한 한 사람이 밖으로 나갈 때까지 토론은 중단됩니다.
         자신이 쓰는 언어의 개발자 중에서 자기는 어떤 위치인지 궁금합니까? 다른 언어를 사용하는 개발자가 만든 프로그램과 자신이 만든 프로그램의 수행 시간, 개발 시간, 코드 크기 등의 비교 결과가 궁금합니까?
  • OpenCamp/첫번째 . . . . 2 matches
          * 데블스 때도 그랬지만 남들 앞에서 발표를 한다는 건 상당히 떨리는 일이네요. 개인적으로는 이번 발표를 준비하면서 방학 동안 배웠던 부분에 대해서 다시 돌아보는 기회가 되었습니다. 그리고 그 외에도 방학 동안에 다루지 않았던 native app을 만드는 것이나 분석용 툴을 사용하는 법, Node.js, php 등 다양한 주제를 볼 수 있어서 좋았습니다. 물론 이번 Open Camp에서 다룬 부분은 실제 바로 사용하기에는 약간 부족함이 있을 수도 있겠지만 이런 분야나 기술이 있다는 것에 대한 길잡이 역할이 되어서 그쪽으로 공부를 하는 기회가 될 수 있으면 좋겠습니다. - [서민관]
  • OpenGL . . . . 2 matches
         3D Programming 을 위한 API. 요새 유행하는 3D Game Programming 시에는 주로 [Direct3D] 와 [OpenGL]을 사용한다.
         Upload:mfc+opengl.zip MFC에서 사용하는 예제
  • OperatingSystem . . . . 2 matches
         일종의, [[SeparationOfConcerns]]라고 볼 수 있다. 사용자는 OperatingSystem (조금 더 엄밀히 이야기하자면, [[Kernel]]) 이 어떻게 memory 와 I/O를 관리하는지에 대해서 신경쓸 필요가 없다. (프로그래머라면 이야기가 조금 다를 수도 있겠지만 :) )
         == 주로 사용되는 OS ==
  • OptimizeCompile . . . . 2 matches
         현재 프로세서의 속도는 [무어의 법칙]에 따라 극한으로 속도가 증가하고 있다. 이러한 상황에서는 예전처럼 [CPU] 의 속도 에 프로그램의 실행속도가 크게 영향 받지는 않으므로, 컴파일러의 최적화 작업도 더이상 연산(computation)을 줄이는 것 만이 목적이 되는 것이 아니라, 좀 더 메모리 계층구조를 효율적으로 사용하는 것에 관심이 기울여지게 된다.
         실행 시간(run time) 중의 계산을 줄이는 것이 목적이다. 이 최적화는 '미리 컴파일 시간에 계산(precomputaion in compile time)' 할 수 있거나, '미리 계산된 값을 재사용(reuse a previously computated value)' 할 수 있는 상황에서 적용된다.
  • OurMajorLangIsCAndCPlusPlus/Class . . . . 2 matches
         private - 클래스 멤버만 사용 가능
         public - 외부에서도 사용 가능
  • OurMajorLangIsCAndCPlusPlus/locale.h . . . . 2 matches
         #define LC_COLLATE (integer constant expression) 스트링(string)의 정렬 순서(sort order 또는 collation)를 위한 로케일 설정을 위해 사용
         || char* setlocale(int category, const char* locale); || category에 대해 로케일 locale을 설정하고 (물론, 사용 가능한 로케일인 경우), 설정된 로케일값을 리턴. ||
  • OurMajorLangIsCAndCPlusPlus/print/하기웅 . . . . 2 matches
         내가 위키 사용법을 잘 몰라서 올리는 법좀 붙여쓰기해서 사용했더니..
  • OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 2 matches
         || MB_CUR_MAX || 현재 사용 중인 로케일에서 멀티바이트 문자의 최대 길이 ||
         || void srand(unsigned int seed); || rand()에 의해 사용되는 난수 생성기에 인자 공급 ||
  • PC실관리/고스트/네트워크를이용한OS설치 . . . . 2 matches
          * 고스트를 사용하면 네트워크상에 다른 컴퓨터에 있는 고스트 이미지를 사용하여서 현재 컴퓨터에 이미지가 없더라도 설치가 가능하다. 교내 네트워크로 하기 때문에 속도가 상당히 빠르다. 10분안에 설치가 끝난다.
  • PNGFileFormat/ImageData . . . . 2 matches
          * zip, gzip, pkzip 에서 사용하는 LZ777 파생 기법사용.
  • Parallels . . . . 2 matches
          글쌔. 게시판에서의 사용자 피드백과 이에 대한 반영, 빠르게 Release 했다는 현상만으로 XP process로 진행되었다고 이야기하기에는 무리가 있어보이는데.. 홈페이지 내부에서도 XP 로 진행되었다는 이야기도 없고. 빠른 릴리즈와 사용자 피드백은 XP가 XP 라고 선언되기 훨씬 이전에도 자주 이용된 방법이였건만. --[1002]
  • PluggableBehavior . . . . 2 matches
         서로 다른 행동을 유발하는 것에 사용될 변수를 추가하라. 단 하나의 메소드만 오버라이딩된 수백,수천개의 클래스를 만들지 말고, Pluggable Behavior를 사용하자.
  • PluggableSelector . . . . 2 matches
         예를 들어, 어떤 비쥬얼한 컴포넌트를 다른 것의 상대적인 부분에 위치시키고 싶다면, 상대적인 위치를 만들어주는 Pluggable Selector를 사용할 수 있다.(???)
         이제 일반 Point처럼 사용할 수 있다.
  • PracticalC . . . . 2 matches
          사용법 : 프로그램 작동법에 대한 간략한 설명
          제한 : 프로그램을 사용할때 제한범위를 설명(잘 모르겠음....)
  • PrivateHomepageMaking . . . . 2 matches
         운영 서버를 사용하는 것은 대략 2가지 방식이 존재한다.
         리눅스 환경은 윈도우와는 약간 상황이 다르다. 윈도우만 사용하던 사람은 일단
  • ProgrammingContest . . . . 2 matches
         나이나 학력 제한이 전혀 없습니다(Open경우). 팀은 세명까지 가능하고, 혼자서도 참가 가능합니다. 사용 가능 언어는 Java, C++, Pascal, Python 등 입니다. 제한 조건은 한 팀은 프로그램 개발을 위해서는 하나의 컴퓨터만 사용해야 한다는 것입니다. 이번 금요일(2002/5/10)에 한국 시간으로는 오후 9시부터 5시간 동안입니다. 온라인(이메일)으로 진행합니다. (see also .http://ipsc.ksp.sk/rules.php )
  • ProgrammingLanguageClass . . . . 2 matches
         그러므로, 이런 ProgrammingLanguageClass가 중요하다. 이 수업을 제하면 다른 패러다임의 다양한 언어를 접할 기회가 거의 전무하다. 자신의 모국어가 자바였다면, LISP와 Prolog, ICON, Smalltalk 등을 접하고 나서 몇 차원 넓어진 자신의 자바푸(Kungfu의 변화형)를 발견할 수 있을 것이며, 자바의 음양을 살피고 문제점을 우회하거나 수정하는 진정한 도구주의의 기쁨을 만끽할 수 있을 것이다. 한가지 언어의 노예가 되지 않는 길은 다양한 언어를 비교 판단, 현명하고 선택적인 사용을 할 능력을 기르는 법 외엔 없다. --김창준
         꼭 그렇지는 않습니다. 다양한 언어를 배우고, 특히 훌륭히 디자인된 언어(각 요소들이 서로 상충하지 않고 유기적으로 조화되어 하나의 건강한 생태계를 이루는)를 충분히 접하게 되면, 아무리 문제있는 언어를 쓰게 되더라도 "선택적"인 사용이 가능해집니다.
  • ProgrammingPearls/Column1 . . . . 2 matches
          * 제한 : 메모리를 1메가 정도밖에 사용할 수 없음. 디스크 공간 넉넉함. 수행시간이 수분을 넘으면 안됨. 10초 정도면 괜찮음.
         이것의 수행시간은 Θ(n)이다. 이 챕터는 문제를 주의 깊게 분석하다 보면, 가끔 엄청난 이득을 가져다 줄때가 있다는 교훈을 주고 있다. 문제 정의는 문제 풀이의 90프로다. 일반적으로 많은 공간을 사용하면 적은 시간이 소요된다고 한다. 그런데 비트맵 소트는 시간도 줄고, 공간도 줄어들었따. 적은 데이터를 다루는 것은, 그것을 수행하는 데에 더 적은 시간이 든다는 것이다. 그리고 데이터를 디스크에 두기 보다는 메모리 상에 두는 것이 디스크 액세스 같은 시간 걸리는 일을 줄일 수가 있는 것이다. 프로그램을 간단하게 짜자. 유지보수도 쉽고, 견고할 것이다.
  • ProgrammingPearls/Column3 . . . . 2 matches
          * 예제 : 어느 사이트에 로그인하면 DB에서 사용자 데이터를 긁어와서 보여준다. 이것은 책에 있는 예제고, 이것을 간단히 C++, 그리고 파일 입력으로 변형을 해보면,
          * 가능하다면 진보된 툴을 사용하자.
  • ProjectAR/Design . . . . 2 matches
          * CARHero는 장착한 아이템에 스킬이 달려 있다면(정령에 의한) 그 스킬을 사용할 수 있다.
          * CARItem은 그것을 사용한 CARHero의 상태를 변화시켜 줄수 있다.
  • ProjectGaia/요구사항 . . . . 2 matches
          * 편리한 사용자 인터페이스
          * 편리한 사용자 인터페이스
  • ProjectPrometheus/Iteration9 . . . . 2 matches
         관리자 기능 (Notice 변경 (,사용자 삭제, 수정))
         관리자 기능 (사용자 삭제, 수정)
  • ProjectZephyrus/Afterwords . . . . 2 matches
          * CVS을 사용하면서 CVS의 유용함을 경험해볼 수 있었다.
          * CVS을 사용하면서 CVS의 유용함을 경험해볼 수 있었다.
  • ProjectZephyrus/Server . . . . 2 matches
          +---- information : DB와 같은 사용자 정보 관리 패키지
         ||원하는 사용자 강제 종료||{{{~cpp SocketManager, InfoManager}}}||.||.||
  • Project메모장 . . . . 2 matches
         [강희경]이 "실제 사용을 목적으로" 계획한 프로젝트.
          * DB 사용.
  • PyIde . . . . 2 matches
          * BoaConstructor - Scintilla 가 사용된 예를 볼 수 있다.
          * 인터프리터에서 타이핑한 내용 화일로 저장하기 ( 이거 되는거 있나? python 사용법을 몰라서 )
  • PyIde/BicycleRepairMan분석 . . . . 2 matches
         IDE 쪽에 통합시키는 것이 목적이므로, 테스트 코드나 해당 사용된 코드의 가장 바깥단을 구경중.
         BicycleRepairMan_Idle.py 가 실마리가 될것 같다. VIM이나 Idle 통합부분의 경우 BRM에서의 facade를 사용한다.
  • PyIde/Exploration . . . . 2 matches
         PyIde/CodeEditor 분석 & wxStyledTextCtrl API 사용방법들 구경.
         Design 을 할때 오버하는 성향이 있는 것 같다. IListener 가 있으면 DIP를 지키는 것이기도 하고, 기존 TestResult 등의 클래스들을 수정하지 않으면서 Listener 들만 추가하는 방식으로 재사용가능하니까 OCP 상으로도 좋겠지만. 과연 당장 필요한 것일까? 그냥 TestResult 를 모델로 들고 있고 View 클래스 하나 더 있는 것으로 문제가 있을까?
  • PyIde/Scintilla . . . . 2 matches
         Boa Constructor 나 Pythoncard, wxPython 의 samples 의 StyleEditor 등을 보면 STCStyleEditor 모듈이 있다. 이 모듈에서 initSTC 함수를 사용하면 된다.
         환경 셋팅 다이얼로그를 띄우고 싶다면 STCStyleEditDlg 를 사용한다.
  • PythonNetworkProgramming . . . . 2 matches
         또는, 기본 모듈로 있는 SocketServer 모듈을 사용할 수 있다. 다음은 간단한 예제.
         MFC 의 CSocket 를 사용하는 스타일로 프로그래밍을 할 수 있는데, Python 이기에 코드가 더 깔끔. 그리고 Windows/Linux 양쪽 다 가능.
  • QuestionsAboutMultiProcessAndThread . . . . 2 matches
          * CPU가 할당한 Time Slice를 하나의 Processor내부에 있는 각각의 Thread가 쪼개서 사용 하는 것인가?
          * 그럼 여러 개의 Thread가 존재하는 상황일 때, 하나의 Thread가 One Time Slice를 전부 사용하는 경우가 있는가??
  • RandomWalk . . . . 2 matches
          * 격자의 가로, 세로의 크기를 입력받을때. 엄청나게 큰 크기를 입력하면 어떻게 할 것인가? 배열의 동적 할당을 이용해서 2차원배열을 어떻게 사용할까? (c/c++은 자바와 달리 2차원배열을 동적할당 할 수 없다. 따라서 각자가 pseudo (혹은 imitation) dynamic 2D array 를 디자인하여야 한다)
         ||도전자||사용언어|| Source ||
  • RandomWalk2/Insu . . . . 2 matches
          * 하면서 static 사용법을 확실히 익혔습니다. 상규 땡쓰~^^
          * STL 컨테이너는 복사본을 사용한다는 걸 알고 포인터로 바꿨습니다.
  • Randomwalk/조동영 . . . . 2 matches
         2차원 동적 배열할때 벡터를 사용해도 좋음. [RandomWalk2/Vector로2차원동적배열만들기] 자료구조 숙제는 [STL]을 사용하면 더 편하게 할수 있는거 같다. - [상협]
  • RealTimeOperatingSystemExam2006_2 . . . . 2 matches
          a) 세마포를 사용하는데 초기 파라미터를 0,1, n 으로 넣어서 각각 이벤트 플래그, 바이너리 세마포, 카운팅 세마포 로 쓰는거 설명하는거 나옴
          a) uCOS-ii 에서 ANSI C의 malloc와 free를 사용하지 않는 이유?
  • RedundantArrayOfInexpensiveDisks . . . . 2 matches
         shadowing 혹은 mirroring 이라고 부르며, 단어 그 자체 대로, 여러개의 디스크에 완벽하게 동일한 자료를 저장한다. 물론 읽어오는 작업을 할 때에는 병렬로 읽어올 수 있기때문에 성능향상이 있지만, 쓰기작업을 수행할때는 하나의 디스크를 사용하는 것과 차이가 없다. 조금 무식한 방법이지만 자료의 무결성을 보장하려고 할때 가장 확실한 방법이기도 하다.
         기본적으로 RAID 5 와 비슷한 구성이다. 2-dimentional array 로 디스크들을 구성하며, 각각의 row 와 column 에 패리티를 사용하여 두개까지의 디스크가 동시에 문제를 일으키더라도 정상 동작을 가능하게 한다. 1987년에 제정된 최초의 RAID 표준으로부터 처음 나온 추가 레벨이다.
  • RedundantPower . . . . 2 matches
         보통 서버급 컴퓨터에서는 ups 와 redundant power 가 둘 다 쓰이는 편이다. 왜냐하면, redundant power 를 사용하더라도 정전 등의 이유로 전원이 아예 나가버리면 컴퓨터가 작동을 중단하고, 설사 ups 가 있더라도, power suply 자체가 오류를 일으킬 소지가 있기 때문이다.
         극단적인 예로, redundant power 를 사용시에, 한쪽의 파워를 강제 연결 해지해버려도 컴퓨터는 멀쩡히 잘 동작한다.
  • RefactoringDiscussion . . . . 2 matches
         하지만 이런 논의를 떠나서 도대체 왜 리팩토링을 하는가 생각해볼 필요가 있겠습니다. 우리는 리팩토링을 "리팩토링이라는 것이 옳다 그르다"를 따지기 위해 사용하는 것이 아니고, 우리의 프로그래밍에 도움이 되기 위해 사용합니다.
  • ReleasePlanning . . . . 2 matches
         릴리즈 계획 회의의 핵심은 개발팀이 각 사용자 스토리에 대하여 이상적으로 프로그래밍 했을때 소요되는 시간을 예측하는 것이다.
         사용자 스토리는 출력하던지 아니면 카드위에 쓴다. 고객과 개발자는 함께 카드들을 테이블에서 이리저리 옮기면서 첫번째 또는 다음 릴리즈시 구현될 스토리를 만든다.
  • Ruby/2011년스터디/강성현 . . . . 2 matches
          * 기존 사이트를 조금 더 사용자 친화적으로 만들고, 모바일 기기에서도 부담없이 볼 수 있도록 함.
          * page design, layout 등은 [html] 이용 ( [Ajax]도 사용)
  • Ruby/2011년스터디/서지혜 . . . . 2 matches
          * 루비에서의 윈도우API사용
          * 윈도우API 사용법 습득
  • RubyLanguage/Expression . . . . 2 matches
          * 수식자로 사용: 조건이 참일 때만 식을 수행
          * 탈출 구문은 if 수식자를 사용하는 것이 간편함
  • STL/vector/CookBook . . . . 2 matches
         = 벡터를 사용해보기 위한 기본 셋팅(앞으로 편의상 반말로 합니다.) =
          * 여기서 잡담 하나. 객체를 parameter로 넘길때도 복사가 수행되지 않는 참조를 사용하자.
  • SeminarHowToProgramItAfterwords . . . . 2 matches
          ''그래서 PP나 XP의 과정을 Jazz에 비유하곤 합니다. 그리고 한번 유의어사전을 프로그래밍시 일주일간만 사용해 보세요. 그리고 거기서 무엇을 더 배웠는지 이야기해보면 참 좋겠네요. --김창준''
          * 그리고 관찰하던 중 PairProgramming에서 Leading에 관한 사항을 언급하고 싶습입니다. 사용하는 언어와 도구에 대한 이해는 확실하다는 전제하에서는 서로가 Pair에 대한 배려가 있으면 좀더 효율을 낼 수 있을꺼라 생각합니다. 배려라는 것은 자신의 상대가 좀 적극적이지 못하다면 더 적극적인 활동을 이끌어 내려는 노력을 기울어야 할 것 같습니다. 실습을 하던 두팀에서 제 느낌에 지도형식으로 이끄는 팀과 PP를 하고 있다는 생각이 드는 팀이 있었는데. 지도형식으로 이끄는 팀은 한 명이 너무 주도적으로 이끌다 보니 다른 pair들은 주의가 집중되지 못하는 모습을 보인 반면, PP를 수행하고 있는 듯한 팀은 두 명 모두 집중도가 매우 훌륭한 것 같아서 이런 것이 정말 장점이 아닌가 하는 생각이 들었습니다. 결국 PP라는 것도 혼자가 아닌 둘이다 보니 프로그래밍 실력 못지 않게 개인의 ''사회성''이 얼마나 뛰어냐는 점도 중요한 점으로 작용한다는 생각을 했습니다. (제가 서로 프로그래밍중에 촬영을 한 것은 PP를 전혀 모르는 사람들에게 이런 형식으로 하는 것이 PP라는 것을 보여주고 싶어서였습니다. 촬영이 너무 오래 비추었는지 .. 죄송합니다.)
  • SignatureSurvey . . . . 2 matches
         [Plex] 사용.
         처음써봐서 완벽하게 확신이 들진 않지만, SignatureSurvey 를 사용하면 Duplication Code 를 찾는 방법으로 일반화를 시킬 수 있지 않을까 하는 상상을 해본다.
  • Slurpys . . . . 2 matches
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         정확하게 이름은 생각나지 않지만 디지털공학 시간에 예제로 해보았던 자판기나 신호등 문제의 접근 방법을 사용하면 재미 있을것 같습니다. - [이승한]
  • SoJu . . . . 2 matches
         ▼▼▼▼▼Dev 사용법입니다! 꼭 보세요▼▼▼▼▼
          Dev 사용법은 바로 위에 있습니다. 꼭 다운받고 해보세욧!
  • StepwiseRefinement . . . . 2 matches
         구조적 프로그래밍에서 상위 모듈을 먼저 개발하고 여기서 사용하는 하?모듈들을 개발해 나가는 방법. EdsgerDijkstra와 Niklaus Wirth가 이 방법을 대중화시킨 것으로 유명하다.
         Niklaus Wirth 교수의 ''Program Development by Stepwise Refinement''(1971, CACM 14.4) (http://www.acm.org/classics/dec95/ )와 EdsgerDijkstra의 [http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD227.PDF Stepwise Program Construction]을 꼬오옥 읽어보길 바랍니다. 전산학 역사에 길이 남는 유명한 논문들이고, 여기 소개된 SR은 Structured Programming에서 핵심적 역할을 했습니다. 당신은, 이 사람이 사용한 stepwise refinement에 상응하는 어떤 "일반적 문제 접근법 및 디자인 방법"을 갖고 있습니까? 이 글을 읽고 다른 문제에 stepwise refinement를 적용해 보십시오. Functional Programming이나 OOP에도 적용할 수 있습니까? 이 글을 읽고, 또 스스로 실험을 해보고 무엇을 배웠습니까? 이 stepwise refinement의 단점은 무엇이고, 이를 극복하는 방법은 무엇일까요? --김창준.
  • TheJavaMan/비행기게임 . . . . 2 matches
          - MP를 사용하여 스킬을 사용할 수 있다.(일단 한가지 스킬만 만들어본다)
  • TheJavaMan/숫자야구 . . . . 2 matches
          1~9까지 겹치지 않는 숫자를 골라서 사용자가 맞추기
         || 사용자 입력 받기 - 겹치지 않는 숫자 ||. ||. || 끝냄 ||
  • ThePragmaticProgrammer . . . . 2 matches
          프로그래머는 일련의 도구들(에디터, 객체 관리자, 버전 트래커)을 사용하여 어떤 환경하에서(하드웨어 어셈불리상의 운영시스템) 운용될 수 있는 제품(프로그램)를 만들어내도록 훈련받은 공예가에 비유할 수 있다. 다른 공예작업과 마찬가지로, 컴퓨터 프로그래밍도 대학이나 관련학원에서 가르쳐지지 않는/쉽게 터득할 수 없는 지식과 지혜를 집적하여 완성해 가는 과정을 갖는다.
          이들의 프로그램학은 구체적이며, 그 구현에 이르는 경로는 간결하다. 이들은 예를들어,하나의 텍스트 편집기를 배우게 되면 그것을 모든 것에 활용하라고 독자들에게 조언하고 있다. 또한 권고하고 있는 것은, 심지어 가장 작은 프로젝트에 대해서도 버전트래킹 소프트웨어를 사용하라는 것이며, 규칙적인 수식구문과 텍스트 처리언어 학습의 장점을 계도하고 있다.
  • ThePriestMathematician . . . . 2 matches
         그 영리한 수도사가 제안한 네 개의 침을 사용하는 방법으로 원반을 옮기는 횟수를 계산하자. 원반은 한 번에 하나씩만 옮길 수 있으며 큰 원반을 작은 원반 위에 놓을 수는 없다. 이동 횟수를 구하려면 먼저 원반 이동 횟수를 최소화시킬 수 있는 k값을 구해야 한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • ToyProblems . . . . 2 matches
         자주 사용되는 ToyProblems:
         석천 - 늦으면 안된다. Python 사용중 아는 것과 쓰는 것의 커다란 차이를 느꼈다. 기존 사고에 갇혀버려 새로운 사고로 전이 못하는 것에서 어려움을 느꼈다.
  • UDK/2012년스터디 . . . . 2 matches
          * [http://udn.epicgames.com/Three/UnrealScriptReferenceKR.html 언리얼스크립트 레퍼런스] UnrealScript 사용자용
          큰 그림을 만들 때 사용할 수 있겠다.
  • UnitTest . . . . 2 matches
         보통 테스트 코드를 작성할때는 UnitTestFramework Library들을 이용한다. 각 Language 별로 다양한데, C++ 사용자는 ["CppUnit"], Java 는 ["JUnit"], Python 은 ["PyUnit"] 등을 이용할 수 있다. PyUnit 의 경우는 2.1부터 기본 모듈에 포함되어있다.
         Q: 한가지 의문나는 점이 있어서 , 사용자가 임의로 생성할 수 없는(예를들면 Socket과 같은 시스템이 생성해주는 데이타 타입) 데이타 형이 파라미터로 있을 때는 어떻게 테스트 하는 것이 좋을까요?
  • UploadFile . . . . 2 matches
         'UploadFile'페이지 이외의 특정한 페이지에서 {{{[[UploadFile]]}}}을 사용하면, 그 페이지 이름을 하위 디렉토리로 하는 새로운 UploadFile 디렉토리가 만들어지고 그 밑으로 파일이 업로드 된다. (1단계 하위 디렉토리만 지원된다)
         이렇게 NoSmok:InterWiki 를 사용합니다.
  • UselessTilePackers . . . . 2 matches
         Useless Tile Packer라는 회사는 효율에 대한 자부심을 가지고 있다. 이 회사는 다른 회사보다 더 적은 공간을 사용하는 것을 가장 큰 목표로 삼고 있다. 영업부에서는 "useless(쓸모 없는)"라는 단어가 오해를 불러일으킬 수 있다고 생각하여 관리부에 회사 이름을 바꾸자고 여러 번 요청했지만 매번 거절당했다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • VisualSourceSafe . . . . 2 matches
          * ["CVS"] 와 달리 하나의 프로젝트를 특정인이 점유하고 있으면, 해당 프로젝트 소스 자체에 접근을 금지한다. VS 계열 툴로 집에서 혼자 작업시에 사용하기는 편하다. VS계열의 툴과 잘 결합되어 있다. 아직 VS 6.0 만 쓰는 관계로 7.0은 잘 모름--["상민"]
          * 7.0에는 VSS 6.0c가 들었음... VSS 6.0과 사용법 UI 모두 똑같음.. --["상규"]
  • VisualStudio2005 . . . . 2 matches
         1년간 무료로 사용할 수 있다.
          * 소스의 수정된 부분은 노란색으로 표시합니다. 저장이 되면 초록색으로 바뀝니다. 아마도 합병(merge)에서 사용될 부분인듯.
  • WeightsAndMeasures . . . . 2 matches
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
          테스트 케이스가 필요하다면 꽁수가 있기는 하다. Java로 standard input으로 읽는 라인을 합쳐다가 모조리 특정 URL에 포스트 하도록 하는 코드를 만들어 업로드 한다. 그러면 심사때 사용하는 테스트 케이스를 알 수 있다. --JuNe
  • WikiStyle . . . . 2 matches
          * 가능하면 이인칭, 삼인칭을 사용해서 다른 사람이 수정, 첨가하기 쉽게 만든다.
          * 사실/조언으로 만들기 어려운 개인적 경험에 대해 쓸 때에는 일인칭을 사용하고 끝에 필명을 붙인다.
  • ZIM . . . . 2 matches
          * 사용 기술 : Java. JDK 1.1 이상
          * 사용 기술 : MFC ActiveX, HTML, Java Script
  • ZIM/UIPrototype . . . . 2 matches
         사용자 인터페이스의 프로토타입을 보여주세요.
         Software for Use와 Contextual Design의 일독을 권합니다. UI쪽(특히 실전)에서는 탁월한 책들입니다. 이 책들에서는 UI 프로토타이핑을 종이를 통해 하기를 강력하게 추천하고 있습니다. 각종 자동화 툴을 써보면 오히려 불편한 경우가 많습니다. 넓은 종이와 다양한 크기의 3M 포스트 잇을 이용해서 버튼 같은 것의 위치를 자유로이 옮겨볼 수 있습니다. 이렇게 만든 프로토타입을 사무실 벽에 걸어넣고 그 앞에서 토론도 하고, 즉석에서 모양을 바꾸기도 합니다. 초기에는 커뮤니케이션 보조 도구로 화이트보드를 많이 사용하기도 합니다. 그러나 한 자리에서 함께 작업할 기회가 적은 경우에는 어쩔 수 없이 전자문서와 이미지에 의존해야겠죠. 제 경우는 주로 스캐너를 이용해서 손으로 그린 이미지 공유를 했습니다. 온라인에서 공동으로 디자인 토론을 할 경우에는 화이트보드가 지원되는 온라인 컨퍼런싱 툴을 씁니다. (e.g. 넷미팅) --김창준
  • ZPHomePage . . . . 2 matches
         [http://mozilla.or.kr MozillaFirefox] 에서도 무리없이 브라우징 할 수 있도록 해주세요. 간단해요. 표준 HTML 만 사용하면 됩니다. - [임인택]
         저같은 경우에는 모니터 해상도를 1280 * 1024로 하고 사용하는데 ZP창은 너무 작습니다. 즉 여백이 엄청나게 많습니다. 적당히 해상도에 맞추어 홈페이지를 보여주는 게 좋을 듯 합니다. --재동
  • ZPHomePage/20050111 . . . . 2 matches
          * 공식적으로 사용할 용도로 공모
          * 이전에 쓰던 게시판(Q&A, 감상, 삽질) 그대로 보존해서 사용
  • ZeroPage/회비 . . . . 2 matches
         == 사용된 회비 ==
         == 사용된 회비 ==
  • ZeroPageServer . . . . 2 matches
          * 서버가 필요한 학우는 언제든지 사용이 가능합니다.
          * 서버이니만큼 데탑처럼 사용하거나 파괴적인 행동을 삼가주시기 바랍니다.
  • ZeroPageServer/IRC . . . . 2 matches
          * 권한: [오징오징어] 봇에 등록된 사용자에 한해 아래 해당하는 권한을 설정합니다.
          * ZeroPage 공지 및 IRC 사용법 안내
  • ZeroPageServer/UpdateUpgrade . . . . 2 matches
         ZeroPageServer 는 데비안 (SeeAlso [http://debianusers.org/ 한국데비안 사용자 모임] , 위키의 DebianKr:대문 )을 사용하고 있다.
  • ZeroPageServer/set2005_88 . . . . 2 matches
          * pair key 사용으로 굳이 패스워드를 외울 필요없음 ^^ㅋㅋ;
          각 사용자의 자신의 public_html 디렉토리를 이용해서 '''jsp, php, perl, python''' 등의 웹 프로그래밍이 가능하다.
  • ZeroPage가입관련 . . . . 2 matches
          * 재학생들(편입,전과,복학생 포함) 가입시 위키 사용법을 몰라서, 그리고 복잡해 보여서 망설이는 분들이 있는것 같아서 여기로 가보라고 권합니다.["ZeroPagers"]
          * ["ZeroPagers"]에서 개인페이지 구경하실수 있습니다. 재학생분들중 가입을 원하시는 분들은 자신의 페이지를 만드십시오. 사용법을 정 모르겠으면 아무페이지에서나 밑에 있는 하단의 {{{~cpp EditText}}}를 누르시기 바랍니다.
  • ZeroWiki/제안 . . . . 2 matches
          * 모든 것을 돈을 처발라 해결하는 위키미디어 재단의 작품답게, 최적화가 *거의* 안 되어있음. 내부 메모리 10~20MB 사용은 예삿일. 소스 좀 뜯어보면 이리 저리 얽히고 섥혀 정신이 하나도 없음.
          전 살아가는 것 자체가 크게 보자면 배우고, 발전(어떤 의미에서든)해가는 것이라고 생각합니다. 그런 의미에서 제 마음대로 위키를 사용하고 있었는데, 아무래도 하나의 사회에는 규약이란건 없더라도 지향하는 바는 있을거란 생각이 들어서 제안을 남겨 봤습니다. 전, ZeroWiki 가 nosmok 처럼 general purpose 해졌으면 합니다. --["zennith"]
  • callusedHand/books . . . . 2 matches
          저는 개발자의 필요에 의해 소프트웨어 개발이 진행되기 때문에 정작 엔드 유저가 필요로 하는 프로그램이 적다는 말에 반대합니다. 개발자도 사용자입니다. 개발자는 컴퓨터를 개발의 도구로만 보지 않습니다. 채팅방에서 시시콜콜한 대화를 나눌 수도 있고, 음악을 듣거나 영화를 볼 수도 있습니다. 바로 이러한 입장에서 개발의 필요가 나타나는 것입니다. 그리고 소비자의 필요와 동 떨어진, 컴퓨터 과학에 치우친 개발이라고 해도 이것은 컴퓨터 산업에 힘을 실어주기 마련입니다. 미분, 적분과 같은 실생활과 관계가 없을 것 같은 이론이 오늘날 여러 산업 분야에 큰 토대가 되고 있지 않습니까?
          요구 사항 분석, 시스템 디자인, 세부 디자인 과정이 구체적으로 진행되지 않거나 문서화가 이루어 지고 있지않는 점입니다. 이는 프로그램의 유지보수, 재사용 측면에서 볼 때 심각한 문제로 한 프로그램을 개선시키고자 하는 개발자가 있을 때 디자인에 관한 문서가 없으면 많은 시행 착오를 겪을 수 밖에 없으며. 좋은 코드들이 그냥 버려지게 되는 경우가 많아 집니다. 이것들은 분명히 낭비라고 볼 수 있습니다. 그러므로 문서화 할 필요가 있습니다.
  • django/AggregateFunction . . . . 2 matches
         Django에서 기본적으로 제공하는 함수는 없다. 대신 order_by를 이용해서 최상위 레코드만 뽑는 방법을 사용할 수 있다.
         Django에서 기본적으로 제공하는 함수는 없다. 원하는 레코드 집합을 얻어온 다음, python을 이용해서 구하는 방법을 사용할 수 있다.
  • html5/geolocation . . . . 2 matches
          * 모바일 애플리케이션과 연동하여 사용
         = 사용 방법 =
  • html5/문제점 . . . . 2 matches
          * Flash를 사용하는 것이 아직은 조금 더 낫다.
          * DRM(디지털 콘텐츠 무단사용 방지) 기능이 아직 없어 비지니스적으로 이용이 어렵다.
  • intI . . . . 2 matches
         integer의 i 인거지?? 그럼 언제부터 int i 라는 변수가 사용된 것일까?? 80년대의 C언어 책에서도 int i 를 사용하고 있었을까??
  • java/reflection . . . . 2 matches
          * 프레임워크에서 많이 사용되는 방법이라고 한다.
          * ORM(Object-Relational-MApping)이 아닌 방식으로 DAO를 만들 때 사용되기도 한다.
  • neocoin/CodeScrap . . . . 2 matches
         ["상민"] 이가 프로그래밍중 사용하는 이디엄, 신기한 현상들을 모아놓는 페이지
          // 내부에서 사용하면 error
  • neocoin/SnakeBite . . . . 2 matches
          ''bidirectional association은 최소화하는 것이 좋음. 꼭 필요하다면 back-pointer를 사용해야 함. 가능하면 MediatorPattern의 사용을 고려해보길. --JuNe''
  • pinple . . . . 2 matches
         Heroku : 테스트 서버로 사용 현재 실서버로도 활용중.
         == 사용 framework 및 기술 ==
  • pragma . . . . 2 matches
         하지만, 이러한 경고는 Visual C++ 6.0 에서만 유효한것이고, VS.NET 부터 추가 세팅이 필요 없다. VC++ 6.0 에서는 map은 물론 STLPort 나, [Boost] 사용하는 것을 권장하지 않는다. 더 이상 MS 측의 컴파일러 기술 지원이 없으므로, VS.NET 이상 버전을 사용해야 한다.
  • 가위바위보 . . . . 2 matches
         입력으로 사용자의 가위, 바위, 보를 받고
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
  • 강희경/메모장 . . . . 2 matches
         가위바위보 게임에 사용해도 될 듯.
         다양성: 제로페이지의 다양함과 풍부함을 나타내기 위해 무지개의 7색을 사용.
  • 고한종/배열을이용한구구단과제 . . . . 2 matches
          * 오 ㅋㅋㅋ 윤종하 게임 만들면서 열심히 공부했나보네. 근데 한 가지 말해주자면 getch()를 쓰면 stdin 버퍼에 입력받은 값이 계속 남아있어서 무한루프같은 문제가 생길 수 있어. 그래서 fflush(stdin);이라는 문장을 getch()를 사용한 이후에 한 번 써주는게 좋아. 근데 코드 대충 읽어보니까 n 누르는거 아니면 while 계속 돌아갈듯?- [윤종하]
          * 우연히 들어와서 봤는데 fflush()는 output stream에 사용하도록 만들어진 함수고, fflush(stdin)은 MS의 컴파일러에서만 지원하는 거라서 linux쪽에서는 작동하지 않는다고 하니까 그것도 알아두는 것이 좋지 싶어요. - [서민관]
  • 고한종/십자가돌리기 . . . . 2 matches
         // ㄴ#include<windows.h> 선언후 사용.
          printf("사용하실 스케일을 입력하세요.\n");
  • 김동준/Project/OOP_Preview/Chapter1 . . . . 2 matches
          * OCP의 원리 이용. (코드의 재사용성)
          3) 유지보수와 재사용이 쉬운 디자인을 위해 노력한다.
  • 김재현 . . . . 2 matches
          while (used[n]); // 이미 사용 ㅤ됐으면 다시 난수 발생
          used[n]=1; // 사용된 숫자 표시
  • 김희성 . . . . 2 matches
         == 사용 언어 ==
          * 스레드 루틴 실행 시점이 제각각입니다. 때문에 스레드에 넘길 값은 스레드가 종료될 때까지 재사용이 안되도록 처리해줘야할듯합니다.(3/25)
  • 김희성/ShortCoding/최대공약수 . . . . 2 matches
          '''컴파일러''' - gcc 컴파일러는 사용된 function을 확인하여 필요한 header file을 자동으로 include 해줍니다. 또한 gcc 컴파일러는 타입이 선언되지 않은 변수는 int형으로 처리합니다. 이로인해서 main의 본래 형식은 int main(int,char**)이지만 변수형을 선언하지 않으면 두번째 인자도 int형으로 처리됩니다.
          '''알고리즘''' - 유클리드호제법을 사용합니다.
  • 데블스캠프2003/넷째날/후기 . . . . 2 matches
          * 말로만 OOP 설명들었을땐 정말 매력적이고 강력해서 OOP만 사용할 줄 알았는데 코딩하는 과정을 보니 너무 복잡한 것 같다. 많은 매서드를 사용하므로 매서드 명명에 유의해야겠다는 생각이 들었다. --황재선[aekae]
  • 데블스캠프2003/셋째날/후기 . . . . 2 matches
          * 나 역시 새로운 언어들을 보면서 오길 잘 했다는 생각이 들었다. 앞으로 종종 사용할 수 있는 언어들은 사용할만한 기회가 오면 좋겠다. --[snowflower]
  • 데블스캠프2004/금요일 . . . . 2 matches
         ==== 이클립스 사용법 ====
          * repaint() 메소드를 사용
  • 데블스캠프2004/세미나주제 . . . . 2 matches
          - [STL]의 경우 사용법을 세미나하는것도 좋지만 GenericProgramming 의 개념과 왜 그러한 패러다임이 나왔는지, 그 배경에 대한 설명도 있으면 좋을 것 같습니다 - [임인택]
         [STL]을 할때 단순히 자료구조를 사용하는 방법을 같이 보는것도 중요하겠지만 내부구조 (예를 들어, vector는 동적 배열, list은 (doubly?) linked list..)와 같이 쓰이는 함수(sort나 또 뭐가있드라..그 섞는것..; ), 반복자(Iterator)에 대한 개념 등등도 같이 보고 더불어 VC++6에 내장된 STL이 ''표준 STL이 아니라는 것''도 같이 말씀해 주셨으면;; (SeeAlso [http://www.stlport.org/ STLPort]) - [임인택]
  • 데블스캠프2006/준비/월요일 . . . . 2 matches
         ||am 01:00~02:00 || SVN,SSH 사용법등 || 남상협 (01) ||
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
  • 데블스캠프2006/화요일/pointer/문제3/정승희 . . . . 2 matches
         //나중에 혹시 a를 사용하면 확실하게 a를 사용해서 에러 났다고 알려줄수 있다.
  • 데블스캠프2008 . . . . 2 matches
          || 12시 ~ 3시 || [김정현] || [wiki:데블스캠프2008/등자사용법 등자 사용법] || [김남훈] || 텍스트계산기 by Python|| [나휘동] || 파이프라인 || [문원명] || 자바 ||[이장길]
  • 데블스캠프2010/다섯째날/ObjectCraft/미션2/김상호 . . . . 2 matches
         = 레퍼런스 미 사용 =
         = 레퍼런스 사용 =
  • 데블스캠프2010/다섯째날/ObjectCraft/미션3/김상호 . . . . 2 matches
         = class 사용 전 =
         = class 사용 후 =
  • 데블스캠프2012/둘째날/후기 . . . . 2 matches
          * [김민재] - XE를 다루면서 MySQL에 대해서는 조금 알았지만, 오늘 이야기를 들으면서 많은 종류의 DB와 프레임워크가 있다는 것을 처음 알고 놀랐습니다. 아직 실력이 많이 부족한 탓에 이해를 못한 점도 있었지만, 웹에 대한 전반적인 이야기를 들으면서 웹에 대해 많이 이해할 수 있었습니다. 특히 우리가 사용하는 웹 서비스 하나를 위해 140대나 되는 Queueing Server가 필요하다는 점에 놀랐습니다. 앞으로는 여러가지 분야에 호기심을 가지고 관심을 가지도록 해야겠습니다.
          * [권순의] - 앞에서 한 내용으로 인해 날로 먹기 강의가 되었군요. 뭐 APMSetup을 설치하고 FileZilla로 서버 사용한 것 까지는 해 봤는데 블로그 만들고 하는 짓은 안 해봐서 뭐.. 새로웠습니다. 근데 본인 특성상 블로그는 운영 안 할 것 같네요. 지워야 하나.. 아 컴터 하나 사서 서버로 쓰고 싶네
  • 데블스캠프2012/셋째날/코드 . . . . 2 matches
          * 웹서버에 실습파일을 만든다 -> 네이버 개발자센터 -> MapAPI를 사용해본다. -> N으로 시작하는 라이브러리 사용하면서 화냄 -> Mark위에 이벤트 출력까지 하고 끝.
  • 동문서버위키 . . . . 2 matches
         동문서버위키가 현 상황에서 제로페이지의 위키나 다른 성공적 위키 사이트에 비해 상대적으로 사용이 저조하고 NoSmok:DegreeOfWikiness 가 낮고 무엇보다도 사람들이 해당 위키를 통해 얻는 "삶 속에서의 가치"(혹은 효용)가 없어서 한마디로 실패한 커뮤니티 사이트가 된 이유는 무엇일까.
          * 위키 스타일의 이해차이 - 이미 잘 정립된 위키스타일을 인식하고 있는 사람이 있던가 하면 그렇지 못한 사람들도 있었죠. 이미 잘 정립된 위키스타일을 알고 있는 사람들이 바로 위키초심자에게 해당 룰을 적용하는 일은 위험한 것이라는 것을 그때 느꼈죠. (일부 사람들은 자신들이 작성하던 페이지를 도로 삭제하기도 했었죠. 위키의 룰이 강제성이 없으며, 반론을 제기할 수도 있는 것임에도 불구하고 시간낭비하기 싫었던 것일까요.. 쩝) 위키의 룰은 결국 위키를 사용하는 사람들이 이용해나가면서 서로 암묵적으로 인정해나가는 것들이 룰로서 올라가지, TopDown 식으로 명령하달식으로 내려 올 수 없는것이겠죠.
  • 레밍즈프로젝트/연락 . . . . 2 matches
         1. 맵의 자료구조 : 이 부분이 Map과 Pixel 다이어그램인데... 흠... Map은 2차원 배열로서 모든 픽셀에 대한 데이터를 관리하게 되겠지?? 그리고 그 접근 방식은 순차접근(List)가 아니라 인덱싱을 이용한 임의접근(Vector) 일거고. 맵은 Pixel 이라는 인터페이스에 대한 배열을 2차원 Vector로 관리하게 되는겨-_-ㅋ(조금 복잡해지지 이럴땐 [http://www.redwiki.net/wiki/wiki.php/boost boost]의 [http://www.redwiki.net/wiki/wiki.php/boost/MultiArray 다차원배열]에 대한 STL비슷한 녀석을 사용해도 괜찮을겨-_- boost에 대해서 좀 조사를 해야겠지만... vector를 다차원으로 쓰기엔 까다로운 부분이 많거든...)
         3. 맵 부분과 레밍에 대해서. CVector(없는 라이브러리)가 아니라 CArray라는 MS 제공 라이브러리를 사용해야 직렬화가 가능하대;;
  • 레밍즈프로젝트/프로토타입/마스크이미지 . . . . 2 matches
         레밍이미지와 배경을 자연스럽게 합성하기 위해서 사용한다.
         플레시, 포토ㅤㅅㅑㅍ에서 사용되는 마스크이미지의 개념과 같다.
  • 레밍즈프로젝트/프로토타입/에니메이션 . . . . 2 matches
         이 클래스는 더블버퍼링과 bmp그리기를 자동화 시켜둔 [레밍즈프로젝트/그리기DC](CmyDouBuffDC)를 사용하여 드로잉을 수행한다. (CDC를 사용하는 도 있지만... 편의를 위해서...)
  • 로마숫자바꾸기 . . . . 2 matches
          * 로마 숫자는 ⅩⅠⅤ 세 종류만 사용한다.
          * '''ㅈ + 한자키 '''에 로마숫자있다. 또는 여기 페이지에서 복사해서 사용.
  • 반복문자열/임다찬 . . . . 2 matches
         const에 대해서 배웠다면 char* 대신에 const char*를 사용하는 것이 좋습니다.-- [Leonardong]
         const char*는 사용안해봤어요- [임다찬]
  • 보드카페 관리 프로그램/강석우 . . . . 2 matches
          throw domain_error("그 테이블은 사용중 입니다.");
          throw domain_error("그 게임은 사용중 입니다.");
  • 복사생성자 . . . . 2 matches
         1. stl 에서 class 복사시 많이 사용
         3. 보통 operator= 재정의와 같이 사용
  • 블로그2007 . . . . 2 matches
         미래에는 PDT로 수렴되겠지만 아직은 정식 버전에 잘 결합이 되지 않을 만큼 불안합니다. 따라서 PHPEclipse를 추천하는데 Web개발을 위해서는 이뿐만이 아니라, HTML Coloring 지원 도구등 여러 도구들이 필요합니다. 귀찮은 작업입니다. Calisto가 나오기 전부터 Eclipse 도구를 분야별로 사용하기 쉽게 패키징 프로젝트가 등장했는데 [http://www.easyeclipse.org/ Easy Eclipse]가 가장 대표적인 곳입니다. 아직도 잘 유지보수되고 있고, Calisto가 수렴하지 못하는 Script 개발 환경 같은 것도 잘 패키징 되어 있습니다. [http://www.easyeclipse.org/site/distributions/index.html Easy Eclipse Distribution]에서 PHP개발 환경을 다운 받아서 쓰세요. more를 눌러서 무엇들이 같이 패키징 되었나 보세요.
         PHP 인터프리터는 APM을 같이 생각해 설치해야 합니다. 국내에 유명한 APM패키지로는 [http://apmsetup.com/ APM Setup]이 많이 쓰입니다. 그러나 작년 말에 예정된 업그레이드 버전 이후 소식이 없습니다. (내부 사정이 있는 것 같아요.) 더 추천할 곳은 [http://www.apachefriends.org Apach Friends]라는 멋진 곳에 있는 XAMPP를 사용하세요. 천천히 RTFM해보면, 됩니다.
  • 사랑방 . . . . 2 matches
          ''약간은 사기라고 봐도 됩니다. 퀵소트에서 첫번째 원소를 피봇으로 잡는 경우가 헤스켈에서 아주 간단히 표현될 수 있다는 점을 이용한 것이죠 -- 첫번째가 피봇이 되면 문제가 생기는 상황들이 있죠. 보통 헤스켈의 "간결성"을 강조하기 위해 전형적으로 사용되는 예입니다. 뭔가 독특한 점을 강조하기 위해 쓰인다는 것 자체가 이미 약간의 과장을 암시하고 있습니다. see also Seminar:QuickSort --JuNe''
         negative LA assertion을 쓰면 간단합니다. {{{~cpp &(?!#\d{1,3};)}}} RE를 제대로 사용하려면 ''Mastering Regular Expressions, 2Ed ISBN:0596002890''를 공부하시길. --JuNe
  • 상협/2DAlca . . . . 2 matches
         || 10.1 ||실습 시간에 타이머 사용방법 익힘, 타이머로 공 움직이게 해봄|| 1시간 ||
         || 10.17 ||인수에게서 멀티미디어 타이머와 더블 버퍼링 사용 방법 배움|| 40분 ||
  • 새싹-날다람쥐 6월 10일 . . . . 2 matches
         = FREE 의 사용법 =
         이 free는 가장 하위 포인터에만 사용이 가능하다. 따라서 array를 모두 free시키려면 for문을 돌려서 free(array[i])와 같이 모두 없애준 후에 free(array);를 해야 한다.
  • 새싹교실/2011/A+ . . . . 2 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          * 피드백 쓰는게 갈 수록 늦어지고 있다 큰일이다 으헝헝. 배열과 포인터, call by value==pass by value에 대해서 배웠고 과제는 swap()을 구현해보라 하셨다. 포인터사용이 아직 능숙하진 않지만 이걸 이용하면 이제 할 수 있는게 무궁무진 해지겠지... 과제완료 : [고한종/swap()] 그리고 이걸 이용해서 다음 C프로그래밍 과목 과제로 예상되는 sort를 시도하고 있으나 잘안됨 ㅜㅠ - [고한종]
  • 새싹교실/2011/AmazingC/5일차(4월 14일) . . . . 2 matches
          * 명령을 반복할 횟수를 알고 있을때 사용
          * 따라서 명령을 반복할 횟수를 모르고 있을때 사용하면 편리
  • 새싹교실/2011/Pixar/3월 . . . . 2 matches
          * 위키 사용하기
          * 두번째로 c프로그래밍을 배웠습니다! 피드백을 좀 늦게쓰게됬습니다. 저번시간에는 전처리기에 대해서 배웠습니다 컴파일 전에 읽어주기 때문에 전처리기라고 합니다. 우리가 써본건 #include 와 #define 입니다 그리고 변수이름으로 사용할 수 있는것들을 배웠습니다. 학교 수업이 너무 어려워서.. 열심히 하려고합니다!!.. -이승열-
  • 새싹교실/2011/Pixar/5월 . . . . 2 matches
         어제는 배열에 대해 공부했습니다. 배열은 변수가 많을 때 편리하게 시간단축하기위해서 사용하는건데 자료형 쓰고 배열이름이랑 크기로 나타냅니다!
          * 4피 환경이 여의치 않아 빈 강의실을 찾아 진행했습니다. 손코딩도 매우 좋은 학습 방법이라고 생각하지만 네명이나 되니 일일히 봐주기 어려워 직접 코딩하는 것보다 진행하기 어려웠어요. (다른 것들도 그렇지만) 배열은 사실 쓰는 법은 매우 간단합니다. 어떻게 활용하는지와 실제 배열 사용시 작동방법을 이해하는 것이 중요하다고 생각해요. 그런것들은 앞으로 다른 부분을 배우면서 실습을 통해 계속 배워나갈거예요. 다음 시간에는 새로 단장한 5피를 쓸 수 있었으면 좋겠습니다.
  • 새싹교실/2011/무전취식/레벨8 . . . . 2 matches
          * Struct(구조체) : 간단하게 사용자 정의 배열이라고했습니다.
          * 구조체란...? 사용자 정의배열이지.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.17 . . . . 2 matches
          4. 잘못된 Pointer 사용의 사례
          3. int *p = 10; 과 int *p = a; 중 올바른 사용 예는? ( int a = 300; 이 미리 선언되어 있다고 가정 )
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 2 matches
          5. assert 함수를 사용하는 이유는 무엇인가?
          5. assert 함수를 사용하는 이유는 무엇인가?
  • 새싹교실/2011/씨언어발전/2회차 . . . . 2 matches
         간단하게 bongbong 커리큘럼에 있는 예제를 이용하며 기본 입출력함수의 사용법에대해 수업했습니다.
         외우라는 식으로 사용법을 배우고 나중에 좀더 자세히 알 수 있도록 하려고 생각중입니다.
  • 새싹교실/2011/씨언어발전/4회차 . . . . 2 matches
         * 함수의 사용법(함수의 오버로딩)
         * 함수의 사용법(함수의 오버로딩)
  • 새싹교실/2012/AClass/5회차 . . . . 2 matches
          - 정렬된 데이터 집합에서 사용할 수 있는 고속 탐색 알고리즘 입니다.
         #include <string.h> // strlen() 함수 사용하기 위해
  • 새싹교실/2012/새싹교실강사교육/1주차 . . . . 2 matches
         선배 후배간의 학술적인 교류를 개인적인 능력에 의한 특혜가 아니라 누구나 공개적으로 경험하기 위하여 ‘05년도부터 시작된 ZeroPage ‘새싹 배움터’를 시초로 한다. 현 ‘12년 학부의 한 행사로 자리잡아 컴퓨터 공학부의 세 학회(ZeroPage, Netory, CLUG)가 진행을 하고 교수님과의 Feedback을 통해 유동적인 강의 과정을 만든다. 또한, 새싹 교실의 필수과정인 Wiki의 사용, 회고를 통해 처음 프로그래밍을 접하는 새내기들뿐만 아니라 새싹 교실의 선생들도 배움을 얻어가는 자리이다.
         예) 새싹교실 첫 수업이었다. 강사는 누구셨고 잘생겼다. 누구누구랑 같이 듣게 되었는데 얘네는 처음 본다. 얘는 언제 봤었고 같이 해서 좋다. 새싹교실의 정의에 대해 배웠는데 강의 중에는 뭔가 강사가 들떠있는 것처럼 보였다. 그리고 위키를 작성하는 것을 보았는데 사용법이 어려워 보였다. 그런데 거기다가 내 페이지로 글을 만들고 내 각오를 여기다가 적으니 부끄럽지만 신기하고 좋았다. 학교 강의에서는 이렇게 가르쳤는데 여기선 이렇게 가르친다 그런데 학교 강의가 더 잘 이해되는 것 같았다.
  • 새싹교실/2012/아우토반/뒷반/3.30 . . . . 2 matches
         단, 위 작업을 0을 입력받을 때까지 계속해서 수행하여야 한다. (while문 사용)
         while문의 조건문에는 != 연산자를 사용한다. != 연산자는 양쪽 피연산자가 같은 값을 갖지 않을 때 참이 된다.
  • 새싹교실/2012/앞부분만본반 . . . . 2 matches
          문제 2. 본인의 이름, 주소, 그리고 전화번호를 모니터에 출력하는 프로그램을 작성해보자.(\n을 사용)
         문제 2 다음의 출력결과를 보이도록 예제를 작성해보자. 출력되는 숫자들은 서식문자 %d를 사용해서 출력을 해보자.
  • 새싹교실/2012/햇반 . . . . 2 matches
          각각의 사용방법설명후 하나씩 구현해봄
         ㄴ.함수의 사용방법
  • 새싹교실/2013 . . . . 2 matches
          * 위키를 사용하지 않는 팀들은 그럼 새싹교실 스터디만 진행하는 건가요? 아니면 다른 곳에 기록을 한다거나 정모에서 배운 내용을 공유한다거나 다른 활동을 하는 건가요? 위키를 사용하지 않더라도 링크 없이 반 이름 정도는 리스트에 올려두는 게 어떨까 싶은 생각이 듭니다. - [김수경]
  • 새싹교실/2013/라이히스아우토반/3회차 . . . . 2 matches
          puts("나(은)는 몸통박치기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 튀어오르기!!를 사용했다.");Sleep(TURN_GAP);
  • 새싹교실/2013/케로로반 . . . . 2 matches
          - 시험 점수를 입력받는데, 90점 이상이면 A, 80점 이상이면 B, 70점 이상이면 C, 60점 이상이면 D, 50점 이하이면 F를 출력하는 기능을 만들고, 사용자가 -1을 입력할 때 까지 계속 반복될 수 있도록 하세요.
          * 단순 if문만을 사용하여 처리하는 경우에는 논리 연산자의 활용을 할 수 있게 했습니다.
  • 새싹배움터05 . . . . 2 matches
          [PythonLanguage], [PHP] (WebProgramming), [ExtremeProgramming] (XP를 적용시켜 코드가 아닌 다른 무언가를 만들어 보자 -_-a ), Ghost 사용법, 발표잘하는법, PPT제작비법, OS개발
          지금 따로 메뉴얼을 제작하고 있습니다. 세미나 없이 메뉴얼만 있으면 쉽게 사용가능할 정도로 만들 예정이고요, 이번 [위키설명회2005]에서 다룬 내용도 담을 예정입니다. 그리고 첫 세미나(C프로그래밍)는 제가 할 의향이 있고 준비 중입니다. -[강희경]
  • 세벌식 . . . . 2 matches
         이때문에 두벌식 키보드를 사용할때 도깨비불 현상이 발생한다. 간단하게 설명하자면 두벌식 키보드로 한글을 치다가 전혀 의도하지 않았던 글자가 나타났다가 사라지는 현상이다. [http://no-smok.net/nsmk/%EB%8F%84%EA%B9%A8%EB%B9%84%EB%B6%88%ED%98%84%EC%83%81 여기]를 보면 더 자세히 알 수 있다.
          * 윈도우즈, 리눅스, MacOS 등에서 모두 세벌식을 쉽게 쓸 수 있다. [http://paero3.myzip.co.kr/use_sebeol_keyboard/index.html 이곳]에 각 OS에서 세벌식 배열을 사용할 수 있는 방법이 설명되어있다.
  • 손동일/TelephoneBook . . . . 2 matches
          int mode; // 항목 선택시에 사용되는 변수
          int menu_num; // menu 선택시에 사용되는 변수
  • 송년회 . . . . 2 matches
         돼지방앗간에서 107000원, 베를린 3층 술집에서 2차로 61000원 총 168000원사용.
         송년회 회비로 10만 9000원 수입. 사용.
  • 숫자를한글로바꾸기/조현태 . . . . 2 matches
          소스가 길어 보이지만 저기의 stack이라는 클래스.. 사실 저번에 [LittleAOI]에서 만들어서 2번이나 사용했던 클래스다.
         모양만 객체고 malloc을 사용하다니 -_-;;; 하이브리드 소스다 -_-;;; 안좋아 -_-;;;
  • 스터디지원 . . . . 2 matches
          * ~~제로페이지 내에서 진행되는 스터디와 프로젝트에 대해, 한 달 한도 금액(인당 1만원) 내에서 식비로 사용하고 월말에 정산하는 방식입니다.~~
          * ~~회식비 사용 방안(스터디 시 다과 구입, 회식 등)은 스터디 구성원끼리 합의하여 결정하시기 바랍니다.~~
  • 시간맞추기/허아영 . . . . 2 matches
          그런데 time()함수를 사용한 방법에는 문제가 있는데 말이지..ㅎㅎ
          time()함수의 기능상의 문제점..ㅎㅎ 사실 이거말고 다른방법을 사용하는게 더 정확한데..ㅎㅎㅎ
  • 위시리스트/130511 . . . . 2 matches
          * 한 2~3대쯤 사놓고 Ebook용으로 사용해도 될듯...
          * 방향제나 모기향 같은 물품들은 과총(??) 등에서 '재료비' 명목으로 사용될 수도 있을 것 같은데..
  • 위키로프로젝트하기 . . . . 2 matches
          * 자신이 공부하거나 프로젝트를 추진하는 내용들을 문서로 정리하는 과정을 통해 공부한 내용을 확실히 자기 것으로 만들 수 있을 것이다. 그리고 또한 정리된 문서는 타인에게 하나의 좋은 공부자료가 될 것이다. 오프라인 세미나의 자료로 사용할 수도 있겠다. 자신이 한 일에 대해 정리하는 것 자체가 좋은 습관이라 생각된다.
         ZeroWiki 에서 프로젝트를 진행하는데 자유의 제약을 느낀다면 ["프로젝트전용위키"]를 설치하고 사용할 수도 있겠다. --["데기"]
  • 위키에 코드컬러라이저 추가하기 . . . . 2 matches
         MoinMoin에 파이선용 코드 컬러라이저는 기본으로 들어있다. 그러나 자바나 C++용 코드 컬러라이저는 기본이 아니다. 그래서 MoinMoin:ParserMarket 에 가서 자바와 C++용 파서를 받아왔다. 그런데 이럴수가 코드블럭문안에서 파서 사용이 안되는것이다.
         그런데 MoinMoin:ParserMarket 에 [http://bbs.rhaon.co.kr/mywiki/moin.cgi/ProgrammingTips_2fCStringFormat Example]이라 된 곳에서는 잘 사용하고 있는것이다...[[BR]]
  • 이승한/java . . . . 2 matches
         goto, const 는 사용하지 못한다.
          사용 JOptionPane.함수들
  • 이영호/기술문서 . . . . 2 matches
         [조금더빠른형변환사용]
         [http://bbs.kldp.org/viewtopic.php?t=2128] - GNU C 에서의 printf 의 확장 및 locale 사용
  • 자유게시판 . . . . 2 matches
          - 자유게시판에 글 수정, 삭제, 추가 하면 RecentChanges 에 반영되지 않나요? 글고 저는 위키위주로 사용해서... (제로페이지 북마크를 http://zeropage.org/wiki/RecentChanges 로 해두고 사용하고 있습니다) - [임인택]
  • 자유로부터의도피 . . . . 2 matches
          * 민주주의 사회에서 자유로부터 도피하는 방법은 강제적인 획일화에 동참하는것이다. 우리는 주변 사람들과 다른것을 입거나 사용하면 불안감을 가진다. 다른 많은 사람들이 입거나 사용하는 그 집합에 포함될때 안정감을 느낀다.
  • 장용운/곱셈왕 . . . . 2 matches
         당시 문제에는 변수 y에 저장된 값 38을 왼쪽 쉬프트 연산자(<<)를 사용하여 2칸 옮긴 결과를 출력하게 했는데,
         너무 개인 위키처럼 사용하는 게 아닌가 싶네요. 이 페이지는 그렇다쳐도 멀티게이라는 페이지를 왜 만들었는지 모르겠어요… 외부 링크로 충분할 것 같아 페이지 지우고 구글 번역을 링크했습니다. - [김수경]
  • 정규표현식/스터디/메타문자사용하기/예제 . . . . 2 matches
          1. 다음 파일들의 목록에서 앞에 두글자가 영어인 파일들을 찾아라. (posix 표현식을 사용할 것)
          1. 다음 파일들의 목록에서 두번째 글자가 숫자인 파일을 찾아라. (posix 표현식을 사용할 것)
  • 정규표현식/스터디/반복찾기 . . . . 2 matches
         게으른 수량자란?? 한번 걸쳐진 범위는 제외하고 검색해준다. 그러므로 이걸 사용하면 과하게 일치하는 상황을 방지할수 있다.
         이제 슬슬 정규표현식의 진짜 의미가 들어난다. 정규 표현 패턴을 사용하여 반복찾기를 하면 이제 까지 배워온 것을 이용해 구간으로 정확하게 원하는 문자를 찾아낼수 있을것이다.
  • 정렬 . . . . 2 matches
          파일 입출력을 사용해야 합니다. SeeAlso FileInputOutput 정렬의 방법은 무엇이어도 좋습니다.
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
  • 정모/2002.7.11 . . . . 2 matches
          1. zeropage.org 도메인 사용료, 소유
          * Instance MP3 - 한번만 사용하는 MP3 만들기
  • 정모/2003.3.5 . . . . 2 matches
          ZeroWikian 은 준회원이 아닙니다. ZeroWikian의 정의는 '''ZeroWiki 를 사용하는 사람들''' 입니다. NoSmok:OpeningStatement 를 정확히 읽어 보세요. --NeoCoin
          * 제로페이지 웹 서비스 정도는 웹호스팅 서비스를 받는게 어떨까요. 이제 호스팅 서비스에 그리 큰 돈이 들지 않습니다. 365일 안정적인 서비스가 가능하며 수시로 자료를 백업해야하는 번거로움도 없습니다. 현 ZeroPageServer 는 실습용 서버및 파일 서버로 계속 사용할 수 있습니다. --["이덕준"]
  • 정모/2011.7.18 . . . . 2 matches
          * 처음 OMS를 보면서 우리집 컴퓨터도 이제 6년차에 돌입했는데.. 저렇게 써야하나 라는 생각이 들다가 그냥 이상태로 쓰지 뭐 이런 생각이 든 -_-;;; 암튼.. 저도 1학년땐 리눅스를 사용하는 모습만 보고 직접 써 보지는 못했었는데 사용하는 모습을 보니 대단하다는 생각이 드네요. 리빙포인트를 하면서 학원에서 들었던 이야기랑 삼수때 겪었던 이야기가 믹스되어 말하게 되었네요. 원래는 그냥 학원 이야기만 하려고 했는데 -ㅅ-a Joseph Yoder 와의 만남 후기를 들으면서 스티브 맥코넬씨가 쓴 Code Complete라는 책에서 이야기 하는 내용과도 많이 겹치는구나 라는 생각을 했습니다. - [권순의]
  • 정모/2012.11.19 . . . . 2 matches
          * 학과 자산이지만 zeropage가 계속해서 사용
         위키 사용
  • 정모/2012.11.26 . . . . 2 matches
         하지만 1월에 좀 사용할 예정
          * 제출도 있고 내년에 신입생 모집때 사용 가능함
  • 정모/2012.2.17 . . . . 2 matches
          * 프린터의 과다사용은 금물!! 종이가 끼지 않게 새 종이만 사용해주세요.
  • 정모/2012.3.19 . . . . 2 matches
          * 전체적으로 영어의 압박이 있었습니다. 사실 영어 하나도 못하지만 그 분위기가 은근 재미는 있었어요. 그런데 앞으로도 계속 정모를 영어로 진행해야하느냐에 대해서는 부정적인 견해를 가지고 있습니다. 외국인 참가자를 배려하는 건 좋지만 한국으로 교환학생을 온 외국 학생이 불편하다면 그쪽에서 한국어를 열심히 공부하는 게 맞는 방향이겠죠? 이 기회에 영어 스피킹을 마음껏 해보고싶은 사람이 영어를 적극적으로 사용하는 건 반대하지 않습니다. 그러나 영어를 사용하는 것이 정모의 원활한 진행을 해치는 것은 아닐지 고민해봐야 할 것 같아요.
  • 정모/2012.7.11 . . . . 2 matches
          * OpenCV - 영상인식을 위한 라이브러리 사용.
          - 안드로이드에서는 JavaCV를 import해서 사용한다.
  • 정모/2012.7.25 . . . . 2 matches
          * Spring : SimpleWiki 작성. 게시물 Page Repositery 기능. Hibernate 사용하는 기능을 Page Repositery에 붙이려고 하는데 Hibernate가 어려워서 잘 될까 모르겠다. 이후에는 Spring의 security 기능을 이용해서 회원가입 기능을 붙일 예정. 위키 문법을 어느 정도까지 다루어야 할지 생각 중.
          * 작은자바이야기 : Generics와 Reflection API를 이용한 objectMapper 만들기. Reflection API는 강력해서 무척 마음에 든다. 그리고 objectMapper라는 아이디어를 잘 이용하면 다른 곳에서도 반복되는 작업을 많이 줄여줄 것 같아서 비슷한 방식을 사용하는 것도 좋을 것 같다.
  • 정모/2012.8.1 . . . . 2 matches
          * 사적인 용도 사용은 퇴장
          * Spring - 하이버네이트로 심플위키 만들고 있음, 하이버네이트는 사용하기에 난이도가 높은 것 같음.
  • 정모/2013.1.15 . . . . 2 matches
          * A(김민재) : 외부인의 사용에 따른 권한 부여 등에 따른 허가, 컴퓨터 사용시 기록을 남김으로써 책임감, 사후관리의 유용성
  • 정모/2013.3.25 . . . . 2 matches
          * 튜티들도 위키를 사용할 수 있게 위키 사용법을 알려 주세요.
  • 정모/2013.7.29 . . . . 2 matches
          * 제안은, 한 달 1회 지원이 아닌, 한 달 한도 금액(기존처럼 인원 수로 책정) 내에서 사용하고 월말에 정산하는 방식으로 개정하는 것
          * 일반적으로, 매 스터디 진행시에 다과를 구입해서 먹는 경우가 많기 때문이며, 1회에 한해서 전액을 사용하는 것이 효율적이지 못하다는 의견이 있기 때문
  • 정모/2013.9.11 . . . . 2 matches
          * 키넥트 장비 - Unity 스터디에서 사용할 예정입니다.
          * Nexus 7 : 현재 GDG 해커톤 대비를 위해 사용중입니다.
  • 정신병원에서뛰쳐나온디자인/밑줄긋기 . . . . 2 matches
          * 여기서 '제인'은 컴퓨터에 익숙하지 않은 일반 사용자이다. - [김수경]
         == 사용성 추구만이 해답은 아니다 ==
  • 제12회 한국자바개발자 컨퍼런스 후기/유상민의후기 . . . . 2 matches
          * 사용 어휘는 손영수씨와 친분을 강조하는 부분이 불편했다. 질문하는 내가 바보 같이 느껴졌다.
          * 자주 사용하는 용어 중 남성화에 대한 자신이 생각나는 가장 가까운 예, 남성화를 벗어났다고 표현을 몇번 하셨는데 어떨때 '벗어났다.'라고 느낀 그런 포인트가 있나요?
  • 졸업논문/요약본 . . . . 2 matches
         웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 한 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 한다. 이러한 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
  • 지금그때/OpeningQuestion . . . . 2 matches
         그러나, 만약 자기가 어떤 분야에 있어 한국 최고(혹은 그 이상)가 되려고 한다면 영어를 편하게(!) 사용하는 것이 중요합니다. 자기 실력에 더하기가 아니고 곱하기가 됩니다.
         같은 주제 읽기(see HowToReadIt)를 하기에 도서관만한 곳이 없습니다. 그 경이적인 체험을 꼭 해보길 바랍니다. 그리고 도서신청제도를 적극적으로 활용하세요. 학생 때는 돈이 부족해서 책을 보지 못하는 경우도 있는데, 그럴 때에 사용하라고 도서신청제도가 있는 것입니다. --JuNe
  • 진법바꾸기/허아영 . . . . 2 matches
          그런데 말야.. 저기 두 번째 함수의 i 과 turn 은 정말로 전혀 다른게 없다고. 이름을 여러개로 해주고 싶었다면 포인터를 사용하거나 전처리문을 사용하는게 나을텐데.. 같은연산이 중복되서 일어나니까 오히려 햇갈린다고..ㅎㅎㅎ
  • 최대공약수 . . . . 2 matches
          * 유클리드 호제법 사용.
          C언어시간에 배웠는데, 이 문제에서는 아마 값을 넘기는 함수를 만들어서 사용하라는 것인듯 -- 아영
  • 컴공과학생의생산성 . . . . 2 matches
         제가 저 이야기를 했었던 이유는 전에 엑셀을 만들때의 이야기였습니다. 만드는 방법이 천차만별이였지요. 처음 Grid Control부터 다 구현하려고 했던 사람, Grid Control만 MSFlex Grid를 사용한 사람, 이미 어느정도 스프레드시트 기능이 구현된 컨트롤을 사용하여 만든 사람 등등.
  • 컴퓨터가했다 . . . . 2 matches
         ["데기"]는 종종 무의식적으로 컴퓨터가 했다는 말을 사용했다. ''"주가 동향 분석은 컴퓨터가 해준다구."'', ''"이 그림은 컴퓨터가 그린거야."''... 그런데 그런 일들을 정말 컴퓨터가 했다고 말할 수 있을까. ''"이 그림은 내 붓이 그린거야."''라고 말하진 않는다. 사람이 한것이다. ["컴퓨터가했다"]고 말할 수 있는 것들이 있을까. 전자상거래 시간에 마련된 특강에서 '''''컴퓨터를 주체가 아닌 도구로 보라'''''는 말씀을 해주신 초청 강사님께 감사드린다.
          ''A씨가 청소를 했다고 말할 수 있는 것은 손을 떼는 순간 때문이 아닌것 같습니다. 컴퓨터와 붓보다 컴퓨터와 사람간의 차이가 훨씬 크기 때문이 아닐까요. 컴퓨터와 붓은 사람이 사용하는 도구지만 사람은 주체니까요. A씨는 청소를 해야할지 말아야할지 스스로 결정할 수 있습니다. ^^ --["이덕준"]''
  • 특정 웹사이트 메타 검색 . . . . 2 matches
         자체 검색엔진이 없고, 다른 검색엔진을 이용하는 검색입니다. 즉, 사용자가 검색어를 입력하면, 여러 개의 검색엔진(검색사이트)에 동시에 검색어를 보냅니다. 각 검색엔진으로부터 검색된 결과를 받아, 취합하여 보여주는 방식입니다. 사용자가 검색창에 키워드를 입력하고 결과를 보는 것과 동일한 과정이며, 여러 검색엔진 결과를 그대로 모은 것입니다.
  • 파이썬으로익스플로어제어 . . . . 2 matches
          * ie의 type이 instance라고 나오는데, ie가 사용할 수 있는 메소드(맞나요?)에 대한 설명이 있는 문서가 어디 있나요? 어제 보여주신 id, pw를 입력폼에 넣는 메소드 및 사용법을 알고 싶어요. -- 재선
  • 파일 입출력_2 . . . . 2 matches
          fclose(fpt); // fopen 과 fclose 세트로 사용!
         msdn 에서 사용방법 찾아보기
  • 페이지지우기 . . . . 2 matches
         '''If you want to delete this page, YouNeedToLogin.''' 현재 ZeroWiki 에서 Delete''''''Page 권한은 계정 관리자가 갖고 있습니다. 로그인한 사용자도 그 권한을 사용할 수 있도록 한 단계 더 공개하는건 어떨까요? security.py 에서 {{{~cpp self.delete = self.delete and user.valid}}} 이 한 라인을 추가하면 됩니다. --["데기"]
  • 프로그래밍언어와학습 . . . . 2 matches
         문화인류학이 융성하던 초기, 언어학자들은 어느 언어가 더 우월한가, 또 거기서 언어 사용자의 정신능력에 차이가 생기는가 등을 따지는 연구에 심혈을 쏟았습니다. 그들이 얻은 결론은 인류에게 있어
         한국에서 일찍부터 컴퓨터를 접했던 소수의 "특권" 계층은 자신이 익숙하게 사용해온 것들이 인기를 잃는 것에 대해 개탄하고, 신세대들은 공부가 부족하다며 비판하길 좋아합니다. 그들의 진정한 문제는 겸손하지 못하다는 것입니다. 자신이 하고 있는 것이, 자신이 있는 영역이 더 본질적이고 더 어려우며, 더 고수준의 것이라고 생각하기 쉽습니다.
  • 프로그래밍잔치/첫째날후기 . . . . 2 matches
          * 위키의 룰은 사용하는 사람들이 점차적으로 만들어야 하는데, 지금의 룰은 '규칙'처럼 선언을 해버린 모습같다. 위키의 룰은 결국 위키를 이용하는 사람들이 만들어가는 것 아닌가?
          * 의외로 몇몇 언어들이 공통되는 부분도 있는거같군요...(제 수준에서) 그리고 Haskell은 언어보다 수학에 가까운 듯한 느낌이었습니다. 전혀 모르는(?) 언어를 사용하여 첫번째 프로그래밍할 때 가슴이 참 떨리더군요. - 영동
  • 프로그램내에서의주석 . . . . 2 matches
         그렇다면 자신이 그 코드를 해석하면서 얻은 지식을 그 코드에 적용했더라면(좀 더 의미있는 변수이름, 메써드이름 사용, 코드 일부분을 의미있는 이름의 메써드로 추출 등) 어땠을까요? --JuNe
         // 사용
  • 프로젝트전용위키 . . . . 2 matches
         [프로젝트전용위키]는 일반적으로 해당 프로젝트와 그 생명주기를 같이한다. [프로젝트전용위키]는 해당 프로젝트의 형상관리 툴로 사용될것이며, 구성원들간의 커뮤니케이션용 도구의 역할도 할 것이다.
         ZeroPage의 모든 프로젝트들이 ZeroWiki에서 수행되어야 할 필요는 없다. 거꾸로 ZeroPage의 모든 프로젝트들이 [프로젝트전용위키]를 따로 사용할 필요도 없다.
  • 피보나치 . . . . 2 matches
          기본적인 함수의 제작은 재귀호출로 만들어야 하나, 다른 방법을 사용해도 됩니다.
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
  • 하드웨어에따른프로그램의속도차이해결 . . . . 2 matches
          * 아래는 제가 조사해본 내용인데 추상적이거든여.. 실제 사용예 같은거 있으면 자료 올려 주시면 좋겠습니다.
          * 궁금한게 있는데, ["MFCStudy_2001/MMTimer"] 로 안된단 말이야? 가장 빠른걸로 알고 있어서, 동작 제어는 타이머단에서 하고, loop에서 열심히 그림 그려서 fliping만 해주면 되지 않을까? 낮에는 경황이 없어서, 그냥 멀티미디어 타이머 이야기만 했는데, winamp 같은 시간에 의존적인 프로그램들도 이 타이머를 사용해서 말이지. --["neocoin"]
  • 허아영/Cpp연습 . . . . 2 matches
         코드를 컴퓨터에만 저장만 해 놓으면 다른 컴퓨터를 사용해서 코드를 작성할 때, 이 문제는 코딩 했었나?
          아직 C++을 C수준으로 사용하시는 것 같아 지금 이 시점에서 이런 말씀을 드리는게 좋을것 같습니다. C++을 공부하기 전에 다음과 같은 의문을 갖으시는게 좋을것 같습니다.
  • 허아영/C코딩연습 . . . . 2 matches
         문제1. 로또 복권의 6자리 수를 랜덤하게 생성하데, 사용자가 발생 횟수를 선택할 수 있도록 하시오. 예를 들면, 초기 화면에서 사용자가 5를 입력하면 랜덤 수 6개를 5번 출력 하는데 출력 양식이 다음과 같도록 프로그램을 완성하시오.
  • 홈페이지분류 . . . . 2 matches
         ZeroWiki를 사용하는 사람들이 가질 수 있는 개인 홈페이지들.
         ["홈페이지분류"]로 분류되는 페이지들은 개인 페이지이므로 자유롭게 사용하되 제로페이지에서 자신이 참여하고 있는 스터디, 혹은 개인적으로 하고 있는 공부들, 전시회 준비 상황과 같은 내용들이 포함되면 더욱 좋을 것 같다. -- ["데기"]
  • 회칙 . . . . 2 matches
          ② 회장은 정모에서 정한 사용 목적 및 제한 내에서 학회 재정을 집행해야 한다.
          ② 회장은 정모에서 정한 사용 목적 및 제한 내에서 학회 재정을 집행해야 한다.
  • 05학번만의C++Study/숙제제출/1 . . . . 1 match
         섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다. 참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 Fahrenheit = 1.8 X Celsius + 32.0 이다.
  • 05학번만의C++Study/숙제제출1/윤정훈 . . . . 1 match
          * 섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. --[최경현]
  • 0PlayerProject . . . . 1 match
         [0PlayerProject/프레임버퍼사용법]
  • 1002/Journal . . . . 1 match
         factory method를 사용해라.
  • 10학번 c++ 프로젝트 . . . . 1 match
          * 헤더문제는 #pragma once 사용으로 해결된 듯 함.
  • 10학번 c++ 프로젝트/소스 . . . . 1 match
         === alarmsetting에서 now_time으로 넘기기 위해 사용 ===
  • 1thPCinCAUCSE/ExtremePair전략 . . . . 1 match
          * ["TestDrivenDevelopment"]를 사용했다고 말하기는 그렇지만 테스트 케이스를 입력으로 넣어놓고 프로그래밍 중간 중간에 제대로 돌아가는 지를 확인하기 위해 지금까지의 진행 상황을 출력했습니다.
  • 2002년도ACM문제샘플풀이/문제C . . . . 1 match
          Means Ends Analysis라고 하는데 일반적인 문제 해결 기법 중 하나다. 하노이 탑 문제가 전형적인 예로 사용되지. 인지심리학 개론 서적을 찾아보면 잘 나와있다. 1975년도에 튜링상을 받은 앨런 뉴엘과 허버트 사이먼(''The Sciences of the Artificial''의 저자)이 정립했지. --JuNe
  • 2005MFC이동현님의명강의 . . . . 1 match
          * 2005.10.06 곱셈기 제작(다이얼로그 생성 및 사용)
  • 2006김창준선배창의세미나 . . . . 1 match
          * 새로운 책을 읽는다면 그 책을 통해서 이전에 자신이 가졌던 지식, 책들을 하나식 통과 시켜 보면서 그 새로 읽은 책을 Amplifier 로 사용한다. 이렇게 해서 단순한 더하기가 아닌 지수승의 효과를 낸다.
  • 2007ToeflStudy . . . . 1 match
         3. 테스트는 voca_test_generator.xls 파일을 사용한다(필요하신분은 [김건영], 남진석에게 연락)
  • 2008리눅스스터디 . . . . 1 match
         || 7/21(월) || 사용자 계정 관리([홍기]), 리눅스 파일 시스템([지원]) || [지원], [홍기], 윤석, 혁수 ||
  • 2010JavaScript . . . . 1 match
          * 블로그 사용 http://w3schools.com/js/default.asp
  • 2010JavaScript/강소현/연습 . . . . 1 match
          ....... 차라리 css로 좀 더 세부적으로 분류한 다음에 사용하는게 나을듯??
  • 2011국제퍼실리테이터연합컨퍼런스공유회 . . . . 1 match
          - 필요한 경우 절차에 따라 기법(예: 브레인스토밍)과 도구(예: SWOT)를 사용한다.
  • 2학기자바스터디 . . . . 1 match
          내가 자바의 쉬운 GUI사용을 보여줬자나;;; ToyProblems도 괜찮지만 하나 목표를 크게 잡고 하는것도 꽤나 재미있어. -[상욱]
  • 2학기자바스터디/운세게임 . . . . 1 match
         날짜와 랜덤 클래스에 대한 간단한 사용법에 대해 알아봅시다
  • 2학기파이선스터디/if문, for문, while문, 수치형 . . . . 1 match
         for 문에서 요소의 값 뿐 아니라 인덱스 값도 함께 사용하려면 enumerate() 내장함수를 이용한다(파이썬 2.3 이상). enumerate() 내장함수는 (인덱스, 요소값) 튜플 자료를 반복적으로 넘겨준다.
  • 2학기파이선스터디/문자열 . . . . 1 match
          * 작은 따옴표 혹은 큰 따옴표를 세개 연속 사용해서 정의하는 경우 쓰는 그대로 정의됨.
  • 3,5,7빵Problem . . . . 1 match
         이때, 컴퓨터가 두번째로 시작한다고 가정하고 사용자의 입력에 따라 무조건 이길 수 있는 최적해를 출력해 이기는 프로그램을 짜면 됩니다.
  • 5인용C++스터디/API에서MFC로 . . . . 1 match
          * WizardBar - ClassWizard의 축소판으로 사용하기 더욱 쉽고 편함.
  • 5인용C++스터디/버튼과체크박스 . . . . 1 match
          * 다이얼로그 박스에서 만들고 사용하는 방법을 발표하면 안됨!
  • 5인용C++스터디/타이머보충 . . . . 1 match
         멀티미디어 타이머 사용하기.
  • 5인용C++스터디/템플릿스택 . . . . 1 match
         || 나휘동(사용자가 배열 크기 정하게 하다 다 못함.) || Upload:stack_templete_Leonardong.cpp || 원하는 결과는 아니었지만.. 그런대로 잘 했음. ||
  • 7피관리 . . . . 1 match
         일반 PC : 76-119, 121 (120번은 네토리 서버로 사용되고 있음.)
  • ACE/HelloWorld . . . . 1 match
          GNU make를 사용하는 경우 다음과 같이 Makefile 을 만들어주어야 한다. 간단한 예) test.cpp 를 test로 빌드
  • AI세미나 . . . . 1 match
         http://www.math.umn.edu/~wittman/faces/main.html - Neural Network를 사용하여 사람의 얼굴 인식.
  • AM/20040817열한번째모임 . . . . 1 match
          * 공부한 내용 : MFC 교재 5장(사용자 인터페이스)
  • ASXMetafile . . . . 1 match
          일종의 윈도우즈미디어 메타파일. XML 스크립트로 이루어져있고 이 메타파일을 작성함으로써 플레이어를 건드리지 않고도 다양한 기능을 사용할 수 있다.
  • AVG-GCC . . . . 1 match
         Usage: AVR-GCC.EXE [options] file... ''' 사용법 : AVR-GCC.EXE [옵션] FILE... '''[[BR]]
  • AcceleratedC++ . . . . 1 match
          || [http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] || .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. ||
  • AcceleratedC++/Chapter1 . . . . 1 match
         interface : 객체의 타입으로 묵시적으로 내포 되어 있는 것은 인터페이스로서, 해당 타입의 객체에 사용 가능한 연산(operation)들의 집합을 말합니다. name을 string 타입의 변수(이름 있는 객체)로 정의 하게 되며, 우리는 string으로 할 수 있는 모든 일들을 name으로 하고 싶다는 뜻을 묵시적으로 내포하게 됩니다.
  • AdvancedJS . . . . 1 match
          * 여름방학동안 JavaScript 스터디를 하는데 문법 익히고 사용하는 건 혼자 공부하기 쉽지만 이런 내용은 혼자 알기 어려웠을 것 같다. 익숙한 다른 언어들이랑 다른 면이 많아서 흥미가 간다. - [김수경]
  • AdventuresInMoving:PartIV . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • AdvertiseZeropage . . . . 1 match
          - 위키 페이지를 만들면 된다고 말은 해 두었지만 실제로 위키를 사용할줄 하는 새내기가 몇이나 있을지 의문스럽군요
  • AnEasyProblem . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • AntOnAChessboard . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Apache . . . . 1 match
         전세계 서버 50% 이상이 아파치를 사용한다고 한다.
  • Applet포함HTML/영동 . . . . 1 match
         * 음... HTML 컨버터로 컨버트하긴 했는데 ftp사용법을 몰라서 계정에 올리는 법을 모르겠네요. 그러한 관계로, 상욱이처럼 파일 내용만 올릴게요. ftp쓰는 법 배워서 링크시킬게요... [http://165.194.17.15/pub/util/WinSCP2.exe WinSCP 2.0 Beta]
  • AsemblC++ . . . . 1 match
         Softice같은 프로그램을 사용해서 시리얼 번호가 있는 프로그램이나 날짜 제한 프로그램을 크랙 하기도 합니다. 이번 디버깅 세미나에서 함 해볼라고 그랬는데 집에 있는 컴퓨터에서 그게 잘 안돌아가서 보류함. - [상협]
  • Athena . . . . 1 match
          * Quntization 완성 & Look-Up Table 사용 쉽게 해놓았습니다. (1시간) - 재동
  • AustralianVoting . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • AustralianVoting/문보창 . . . . 1 match
         Presentation Error를 잡아야 한다. 수행시간과 메모리사용량 또한 만족할 만한 수준이 아니다.
  • AutomatedJudgeScript . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • AutomatedJudgeScript/문보창 . . . . 1 match
          char reply[MAX*MAX]; // 사용자 출력
  • Barracuda . . . . 1 match
         Struts와 비슷한 모델 2 형태의 아키텍처 이지만 스트럿츠 보다 발전된 모델 이벤트 통지 메커니즘을 제공한다. 바라쿠다 프레임 워크는 엄격한 JSP접근 방식과 달리 더 뛰어난 유연성과 확장성을 제공할 수 있도록 템플릿 엔진 컴포넌트를 새로 만들었다. 이 프로임워크에서는 사용자 인터페이스를 생성할 때 XMLC를 이용하여 코드와 컨텐츠를 분할한다. XMLC는 자바 기반의 컴파일로써 HTML과 XML문서를 소스로 읽어 들여 컴파일 하고 자바 클래스 파일을 생성한다. 이 자바 클래스 파일은 런타임에 문서를 재생성하는데 이용된다. ...중략... 마크업과 애플리케이션 로직을 분리한 덕에 웹 디자이너는 마크업에, 프로그래머는 코딩에 집중할 수 있다.
  • BasicJAVA2005 . . . . 1 match
          예를 들면, 변수도 한글로 사용이 가능합니다. (예를 들어서 String 임시 = "임시변수입니다."; 이런식으로 작성이 가능하다는 이야기죠.) - 도현
  • Basic알고리즘/63빌딩 . . . . 1 match
         || 이름 || 사용언어 || 코딩 ||
  • Basic알고리즘/빨간눈스님 . . . . 1 match
         상당히 좋은 문제입니다. 이 문제를 컴퓨터를 도구로 사용해서 해결을 하는 훈련을 하면 상당한 사고훈련이 될 것입니다. 적극 권합니다. 스스로 이 문제의 답을 알고 있다고 생각하는 사람도 직접 프로그래밍을 해보거나 하시면 많은 것을 느끼고 깨닫게 될 것입니다. --JuNe
  • Basic알고리즘/팰린드롬/임인택 . . . . 1 match
         == 사용 ==
  • Bicoloring/문보창 . . . . 1 match
         평이한 문제. 이산수학이 생각난다. if...else 구문을 사용할때 모든 조건을 프로그램에서 포함하는지 주의깊게 코딩해야 한다.
  • BirthdayCake . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • BookTemplate . . . . 1 match
         사용법은 NoSmok:ISBNMacro 를 참고하세요.
  • BuildingWikiParserUsingPlex . . . . 1 match
         현재 PyKi라는, [1002]가 개인적으로 만들어서 사용중인 위키에서의 parser 클래스 중 일부 코드이다.
  • BusSimulation/상협 . . . . 1 match
          while(m_CurrentMinute!=m_DueMinute) //사용자가 입력한 목적 시간 전까지 시간을 증가 시킨다.
  • BusSimulation/영창 . . . . 1 match
         구현특이사항 : vector, map, algorithm 등 stl 클래스 사용
  • BusSimulation/조현태 . . . . 1 match
          사실 출력부분이 대부분 테스트용으로 만들어 진건데.. 일단 임시로 그대로 사용하기로 했다. 나중에 휴가기간에 소스좀 수정하도록 하겠다.
  • C++Analysis . . . . 1 match
         C++를 더욱 더 잘 이해하고 사용한다.
  • C++스터디_2005여름/도서관리프로그램/문보창 . . . . 1 match
         우선 스터디 시간에 버벅대서 마무리 짓지 못한거 미안하게 생각합니다. 자신이 꼭 스스로 프로그램을 짜시고, 그런 후에 제 코드와 비교해 보시기 바랍니다. 저보다 여러분이 잘한 점, 혹은 제가 잘한 점이 무엇인지 생각해 보시기 바랍니다. 어떤게 더 확장성과 재사용성에 유리한지 곰곰히 생각해보세요.
  • C++스터디_2005여름/도서관리프로그램/조현태 . . . . 1 match
         이로써 배열을 사용해도 빈공간이 생겨 자료를 땡긴다거나 하는 고생은 하지 않아도 된다는..(어이 그렇다고 배열로 짜냐;;)
  • C++스터디_2005여름/학점계산프로그램/문보창 . . . . 1 match
          fin.ignore(100, ' '); // 사용자 지정 문자가 나올때까지 읽어 버리는 함수
  • C++스터디_2005여름/학점계산프로그램/허아영 . . . . 1 match
         제 소스가 C++의 특징인 OOP를 사용하지 않은 껍데기 소스라고 보창오빠는 말하더군요 ㅠㅠ( 상처ㅡㅡ++++++ )
  • C/Assembly/포인터와배열 . . . . 1 match
         // 마지막 k변수는 index 주소를 사용해 메모리를 목사하고 있다.
  • C99표준에추가된C언어의엄청좋은기능 . . . . 1 match
          * 흐음... C에서 동적할당을 하기 위해서는 new나 malloc 정도의 키워드를 사용해야 하지 않나요?? 혹시.. 컴파일 옵션을 달리해야 하는??;; - [이승한]
  • CMM . . . . 1 match
          * CMMI : Capability Maturity Model Integration. 모델을 사용하는 입장에서는 각각의 모델을 별개로 적용하는 것보다는 전체적 관점에서 시너지 효과를 내기 위해서는 어떻게 적용할 것인가에 대한 방안이 필요하게 되어 개발된 통합 모델
  • CPlusPlus_Tip . . . . 1 match
         1. [SVN 사용법]
  • CSS . . . . 1 match
         HTML과 CSS를 분리한 웹페이지야말로, 사용자 측면에서도 개발자 및 디자이너 측면에서도 바람직하다. 웹접근성 뿐 아니라, 유지보수 관점에서도 제대로 된 구조화가 이루어져야 한다고 생각해요. - [(kiryu)]
  • CVS/길동씨의CVS사용기ForRemote . . . . 1 match
          도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용한다.
  • CarmichaelNumbers . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • CategoryCategory . . . . 1 match
         위키위키에서 분류를 지정하는데 Category를 보통 사용합니다. 위키위키의 분류는 [역링크]를 통해서 구현됩니다.
  • ChainsawMassacre . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • ChangeYourCss . . . . 1 match
         UserPreferences 에서 로그인후 자신이 원하는 css 를 설정해줄 수 있다. 각자가 취향에 맞는 스타일 시트를 골라서, 만들어서 사용해보자. ^^;
  • ChartDirector . . . . 1 match
         Python 뿐만 아니라 다양한 언어들을 지원. Documentation 또한 잘 되어있고 사용도 간단.
  • CheckTheCheck . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • ChocolateChipCookies . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • CleanCodeWithPairProgramming . . . . 1 match
          * Sonar와 Jenkins, maven... 실제로 이런 자동 빌드 시스템을 사용해본 적이 없었는데, 직접 보기 신기했습니다. 페어 프로그래밍도 재밌었습니다. 하지만 여전히 시간에 쫓기는 프로그래밍은 힘들더군요... - [박성현]
  • ClearType . . . . 1 match
         그림을 보면 잘 이해할 듯. 4번째의 경우가 클리어 타입이 사용하는 방식이다.
  • Code/RPGMaker . . . . 1 match
          알만툴에서 사용하는 Color 클래스이다.
  • CodeCoverage . . . . 1 match
         CodeCoverage 는 Software Testing 에서 사용하는 측정 도구중의 하나이다. 프로그램이 테스트된 소스 코드의 정도를 기술한다. 이는 다른 대다수의 다른 테스트 메소드와 다른다. 왜냐하면 CodeCoverage 는 소프트웨어 기능, Object interface 과 같은 다른 측정 방법에 비하여 source code를 직접 보기 ㅤㄸㅒㅤ문이다.
  • CollectionParameter . . . . 1 match
         즉, 두 메소드의 결과를 모으는 경우인데, 그리 흔한 경우는 아니였던걸로 기억. 약간은 다르긴 하지만 나의 경우 CollectionParameter 의 성격으로 필요한 경우가 read/write 등 I/O 가 내부적으로 필요할때 또는 Serialization 등의 일이 필요할때. 그 경우 I/O 부분은 Stream 클래스로 만들고(C++ 의 Stream 을 쓰던지 또는 직접 Stream 클래스 만들어 쓰던지) parameter 로 넘겨주고 그 파라메터의 메소드를 사용하는 형태였음. --[1002]
  • CommonPermutation . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • CompleteTreeLabeling . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • ComputerNetworkClass . . . . 1 match
         기존의 데이터 통신이 DL, PHY 에 집중하여 공부한 측면이 강했다면, 이 과목은 실제 Programmer 가 실무에서 많이 사용하게될 기술인 TCP, UDP, RTP 및 socket, rpc 에 대한 전반적인 내용을 다룬다.
  • ComputerNetworkClass/Exam2006_1 . . . . 1 match
          각 방식에서 사용하게 되는 멀티캐스팅방식에 대한 간단한 약술
  • ConstructorMethod . . . . 1 match
         ''DesignPatterns 로 이야기한다면 일종의 FactoryMethod 임.(완전히 매치되는건 아니고, 어느정도 비슷) 비교적 자주 사용되는 패턴인데, 왜냐하면 객체를 생성하고 각각 임의로 셋팅해주는 일을 생성자 오버로딩을 더하지 않고서도 할 수 있으니까.
  • ConstructorParameterMethod . . . . 1 match
          void setXnY(int x, int y) // smalltalk에서는 setX:xNum y:yNum이라는 메세지를 사용한다.
  • ContestScoreBoard . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Counting . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Counting/황재선 . . . . 1 match
          * 동적 프로그래밍 기법을 사용.
  • CppStudy_2002_2 . . . . 1 match
          * C++의 문법도 익히고, 나아가서 사용법, OOP에 대해서 더 친숙 해지기, 다양한 과제를 통한 프로그래밍 경험 쌓기
  • CppStudy_2002_2/STL과제 . . . . 1 match
          * 배열을 절대 사용하지 않는다!!
  • Curl . . . . 1 match
          Ajax프로그래밍을 해본적이 없어서 Gmail에서 관찰한 내용을 기준으로 해보면... 아마도 curl 로 만들어진 빠른 속도의 애플리케이션을 이용해서 좀더 다양한 처리 같은게 가능하지 않을까요? 뭐 그래픽 에디터를 activex를 이용하지 않고도 만들 수 있다던지.. 그리고 네트워크가 disconnect된 상태에서 사용자가 작업한 내용을 보관하고 있다가 connect된 상태로 바뀌면 작업을 처리하는 일같은 것도 가능할 것 같고요.(ajax가 jscript+dhtml을 이용한 기술이라고 아는데 이런것도 가능한지는 모르겠네요.;;) 아무래도 로컬의 runtime위에서 작동을 하는 만큼 유저의 입장에서 좀더 다양한 상용의 용도가 있을 것이라는 생각이드네요. 물론 runtime 이 있기 때문에 상업적 표준이 되기전에는 기업용 시장에서만 팔릴 것들에만 쓰일지도 모르겠고요. - [eternalbleu]
  • CuttingSticks . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • CxxTest . . . . 1 match
         [1002]의 경우 요새 CxxUnit 을 사용중. 밑의 스크립트를 Visual Studio 의 Tools(일종의 External Tools)에 연결시켜놓고 쓴다. Tool 을 실행하여 코드제너레이팅 한뒤, 컴파일. (cxxtestgen.py 는 CxxTest 안에 있다.) 화일 이름이 Test 로 끝나는 화일들을 등록해준다.
  • C언어정복/3월30일 . . . . 1 match
         13. for문 사용 방법 (실습 : 1~10까지 덧셈)
  • C프로그래밍 . . . . 1 match
         매크로를 사용해서
  • DPSCChapter4 . . . . 1 match
         '''Facade(179)'''는 확장된 시스템에서(하위, 상속받은) interface들의 조합에 대한 일관적인 접근(interface)을 제공한다. Facade는 확장 시스템(하위, 상속받은)을 좀더 사용하게 쉽도록 높은 단계의 interface를 정의한다.
  • DataCommunicationSummaryProject/CellSwitching . . . . 1 match
          * 고정길이 셀 사용(53byte = 48 byte의 페이로드 + 5byte의 헤더, ATM의 패킷은 셀이라고 한다.)
  • DataStructure/Graph . . . . 1 match
          * 사용하는 메모리의 양 ( n개의 Vertices, e개의 Edges )
  • DatabaseManagementSystem . . . . 1 match
         DBMS라는 것은 DB를 다루기위해서 만들어진 프로그램이다. 이것은 다수의 사용자가 요청한 정보를 처리합니다. 원래 대용량의 데이터를 다루기위해서 만들어진 컴퓨터때문에 만들어진 것으로 DBMS는 컴퓨터의 back-end 프로그램의 표준화된 일부로서 완전히 통합되었다.
  • Data전송 . . . . 1 match
         1. Get : 주소에 넣어서 보내는 방식 사용자의 data 가 표시
  • Debugging/Seminar_2005 . . . . 1 match
         == 디버깅 프로그램 사용방법 시연 ==
  • DebuggingApplication . . . . 1 match
         == 맵 파일 생성하는 법과 사용법 ==
  • DebuggingSeminar_2005/UndName . . . . 1 match
         DLL 파일에 의해서 분석된 내용을 보면 DLL 에 함수의 이름이 이상하게(?) 변형되어 있는것을 확인하실 수 있는데(DUMPBIN.EXE 를 통해서 가능합니다.) 이 이름의 원형을 알고 싶을때가 있습니다. 그럴때 undname.exe 라는 파일을 사용하시면 아주 쉽게 확인해 보실 수 있습니다.
  • DependencyWalker . . . . 1 match
         해당 Application 의 사용 dll 을 알아볼 때 편리.
  • DermubaTriangle . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • DevCppInstallationGuide . . . . 1 match
         == 05를 위한 간단한 Dev 사용법 ==
  • DevelopmentinWindows/UI . . . . 1 match
         윈도우즈에서 제공되는 사용자 인터페이스.
  • Direct3D . . . . 1 match
         기본적인 클래스인 CD3DApplication 이 있고, 이것을 상속받은 CMyD3DApplication을 사용하여 하고싶은 일을 할 수 있다.
  • DirectX2DEngine . . . . 1 match
         거창하게 엔진이라고는 했지만, 그정도는 아니고 재사용 가능한 루틴을 만드는 것이 목표.
  • Django스터디2006 . . . . 1 match
         || 이름 || 사용 언어 || 소요 시간 || 제목 ||
  • DoubleDispatch . . . . 1 match
         argument에 메세지를 보내라. selector에다가 receiver의 클래스 네임을 덧붙인다. receiver를 argument로 넘긴다. 이 패턴을 사용한 후의 Integer, Float 코드는 다음과 같다.
  • Doublets . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • DrPython . . . . 1 match
         wxPython 을 사용해서 만든 Python IDE.
  • DrawingToy . . . . 1 match
         사용언어: MFC
  • EcologicalBinPacking/김회영 . . . . 1 match
         char save[4]={"NNN"}; //나중에 결과값을 출력시 사용
  • EightQueenProblem/kulguy . . . . 1 match
          성능이란 것을 크게 수행 시간(時)과 수행시 필요한 메모리(空)라는 2가지 측면에서 본다면 메모리쪽의 성능을 희생해서 수행 시간을 끌어올리는 것을 말합니다. 즉, 자주 쓰일 것 같은 계산 결과는 매번 계산하지 않고 메모리에 담아두거나 외부에 저장했다가 가져오는 식이 되는 거죠. 저같은 경우 문제를 풀기 위해 체스판 위에 퀸 하나가 놓일 때마다 다음 퀸이 놓일 수 있는 "가능한 자리를 계산"해서 그 다음 퀸을 배치하는 방식을 사용했습니다. 이 때 "가능한 자리를 계산"한 결과를 메모리에 담아두고 계속 이용하였죠. 참고로 이 용어와 개념들은 김창준님이 마소에 기고하신 파이썬 관련 기사에서 비스므리 인용한 것 입니다. 인용이란 본래 그 내용을 정확히 전달해야 하는데 -_-;;; 마소 기사를 직접 참고해보시기 바랍니다 :)
  • EightQueenProblem/밥벌레 . . . . 1 match
         procedure SetQueens(n: Integer); // 퀸 배치하기. 이 소스의 핵심함수. n은 현재 사용안한다. 처음엔 RandomSeed로 쓰려했음..-_-;
  • EightQueenProblem2 . . . . 1 match
         ||도전자||총수정시간||최종 소스라인수(주석제외)||사용언어||
  • EightQueenProblem2Discussion . . . . 1 match
         매번 위키나 블로그나.. 이야기만 들어봤지 실제 사용은 안해봤는데..
  • EightQueenProblemDiscussion . . . . 1 match
         자신에게 항상 "What is the simplest thing that could possibly work?"라는 질문을 하면서 TestDrivenDevelopment를 했나요? 테스트/코드 사이클을 진행하면서 스텝을 작게 하려고 노력했나요? 중간에 진척이 별로 없는 경우, 어떤 액션을 취했나요? 그 때 테스트 사이클의 스텝을 더 작게하려고 했나요? 만약 다시 같은 문제를 새로 푼다면 어떤 순서로 테스트를 하고 싶나요? (직접 다시 한번 새로 시작하는 것도 강력 추천) 왜 다른 사람들에 비해 시간이 상대적으로 많이 걸렸을까요? 테스트 코드를 사용한 것이 그 시간만큼의 이득이 있었나요? TestDrivenDevelopment를 해내가면서 현재 패스하려고 하는 테스트 케이스에서 무엇을 배웠나요? 켄트벡이 말하는 것처럼 사고의 도구가 되어 주었나요? 참고로 저는 EightQueenProblem을 파이썬으로 약 30분 정도 시간에 50 라인 이내로(테스트 코드 제외) 풀었습니다. TestDrivenDevelopment로요. --김창준
  • ErdosNumbers . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • ErdosNumbers/차영권 . . . . 1 match
         Time Limit 나올꺼 같았다. 루프의 사용이 깔끔하지 못한거 같다.
  • ExploringWorld/20040412-세상읽기 . . . . 1 match
         "영문학의 대작을 읽은 적이 없다는 과학자들의 뉴스를 듣고 이들은 동정어린 쓴웃음을 던진다. 그들은 과학자들을 무지한 전문가라면서 무시한다. 하지만 그들 자신의 무지와 '전문적인 바보' 모습도 사람들을 놀라게 한다. 나는 전통적인 문화의 기준에서 높은 수준의 교육을 받았다는 사람들의 모임에 참석한 적이 있는데, 그들은 과학자들의 무지에 불신을 표명하는 데 상당히 재미를 붙인 사람들이었다. 내가 도저히 참을 수 없어서, 당신들 가운데 열역학의 제 2 법칙을 설명할수 있는 사람이 몇이나 되느냐고 물었다. 대답은 냉랭하고 부정적인 것이었다. 나는 '당신은 셰익스피어 작품을 읽은 일이 있소?'라는 질문과 맞먹는 과학의 질문을 던졌던 것이다. 그보다 더 쉬운 질문, 이를테면 '질량 혹은 가속도란 무엇인가?'(이는 '당신은 읽을 줄 압니까?'라는 것과 동등한 과학상의 질문이다.)라고 물었다면 ... 열 명에 하나가 내가 그들과 같은 언어를 사용한 것 정도는 느꼈으리라고 믿는다....가장 현명하다는 사람들 대부분은 물리학에 관한 한 말하자면 신석기 시대 선조들과 거의 같은 수준의 통찰력 밖에 가지고 있지 않는 것이다."...
  • ExploringWorld/참고링크 . . . . 1 match
          http://www.debianusers.org - 한국 데비안 사용자 모임
  • ExtremeBear/OdeloProject . . . . 1 match
          * gui사용(swing)
  • ExtremeBear/VideoShop/20021105 . . . . 1 match
          * CRC 를 사용했고 프로그램의 대부분은 완성했다.
  • ExtremeBear/VideoShop/20021106 . . . . 1 match
          * Date Class 사용법을 알게 되었다.
  • FactorialFactors . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • FeedBack . . . . 1 match
         '''ZeroWiki에서 사용될때?''' [[BR]]
  • Fmt . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Freemarker . . . . 1 match
         프리마커는 자바 서블릿을 위한 오픈소스 HTML 템플릿 엔진이다. 프리마커에서는 HTML을 템플릿으로 저장하는데 이들은 결국 템플릿 객체로 컴파일 된다. 이 템플릿 객체들은 서블리셍서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커 객체들은 서블릿에서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커는 고유의 템플릿 언어를 사용하고, 정적인 HTML페이지에 근접한 속도를 자랑한다. ..하략
  • FromDuskTillDawn . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • GDBUsage . . . . 1 match
         [http://kldp.org/node/71806 KLDP:GDB 잘 쓰기]라는 글 에도 사용법이 쉽게 정리 되어 있습니다.
  • GDG . . . . 1 match
          * Google의 네임벨류를 사용할 수 있음
  • GRASP . . . . 1 match
          일관된 interface를 사용
  • GameProgrammingGems . . . . 1 match
         이 책의 저자는 수십 명이다. 10명 정도는 알고 있어도 수십 명이 지은 책은 처음 일 것이다.... 나도 그렇다 ^_^; 이 책은 수십 명의 게임 프로그래머들이 자신의 노하우를 적어놓은 책이라고 하는 편이 정확하다. 즉 정보의 공유를 주장하면서 만든 책이 된다. 물론 자신이 열심히 만든 소스를 그냥 공개하자~ 라는 것은 아니다(그래주면 고맙겠다 -.-) 허나 자신은 어떤 알고리즘으로 구현했다던가, 혹은 VC++과 다이렉트 엑스를 사용할 때는 어떻게 하면 어떤 환경에서 구현하면 좋다던가 하는 건 알려주면 고맙겠지? 이 책은 그런 목적으로 쓰여진 책이 되겠다.
  • Gnutella-MoreFree . . . . 1 match
          5개의 Descriptor를 사용하고 TCP/IP 프로토콜과 ASCII Code를 기반으로
  • GofStructureDiagramConsideredHarmful . . . . 1 match
         하지만, Pattern에 대한 경험이 부족한 학생들이나 사용자들은 이 사실을 모르고 있다. 그들은 Pattern에 대한 저술들을 너무 빨리 읽는다. 단지 한 개의 Diagram만을 이해하는 것으로 Pattern을 이해했다고 착각하는 경우도 잦다. 이게 바로 필자가 생각하기에는 독자들에게 해로워보이는 GoF 방식의 단점이다.
  • Hacking . . . . 1 match
          * Packet 전송 시 암호화 되는 툴 등을 사용.
  • HanoiTowerTroublesAgain! . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HardcoreCppStudy . . . . 1 match
          * 우선 첫주는 객체지향을 들어가기 전에 7, 8장이나 함수 사용을 익숙히 하기 위해서 예제를 내겠습니다.
  • HardcoreCppStudy/첫숙제/Overloading/임민수 . . . . 1 match
         함수의 이름은 같게 하되 전달인자들의 개수나 형식에 따라 다르게 사용될 수 있도록 정의하는것을 말함..
  • Hartals . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HaskellLanguage . . . . 1 match
         이전 [프로그래밍잔치] 때 사용했었던 [FunctionalLanguage].
  • HelpForBeginners . . . . 1 match
         처음 위키위키를 방문하신다면 무작정 다른 페이지를 고치려 하지 마시고 [위키모래상자]같은 곳에서 위키위키에 사용되는 간단한 문법을 테스트해보시기 바랍니다.
  • HelpOnEditing . . . . 1 match
         위키위키는 기본적으로, 위키위키 내의 모든 페이지를 모든 사용자가 고칠 수 있습니다. 위키위키는 좀 더 편리하고 직관적인 페이지 편집을 지원하며 편집에 앞서 몇가지 포매팅 규칙을 배우셔야 합니다.
  • HelpOnLists . . . . 1 match
         === 사용례 ===
  • HelpOnProcessors . . . . 1 match
         다음과 같이 코드 블럭 영역 최 상단에 {{{#!}}}로 시작하는 프로세서 이름을 써 넣으면, 예를 들어 {{{#!python}}}이라고 하면 그 코드블럭 영역은 {{{plugin/processor/python.php}}}에 정의된 processor_python()이라는 모니위키의 플러그인에 의해 처리되게 됩니다. {{{#!python}}}은 유닉스의 스크립트 해석기를 지정하는 이른바 ''bang path'' 지정자 형식과 같으며, 유닉스에서 사용하는 목적과 동일한 컨셉트로 작동됩니다. (즉, 스크립트의 최 상단에 지정된 스크립트 지정자에 의해 스크립트의 파일 나머지 부분이 해석되어 집니다.)
  • HelpOnSmileys . . . . 1 match
         === 사용례 ===
  • HotterColder . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HowBigIsIt? . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HowManyFibs? . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HowManyFibs?/황재선 . . . . 1 match
         반복적인 계산을 줄이기 위해서, bottom-up 방식으로 수열을 처음부터 계산하였다. 계산된 이전 값을 사용하여 다음 수열을 빠르게 얻을 수 있었다. Dynamic Programming을 처음으로 해보았다 :)
  • HowManyOpenSourceSoftwaresDoYouUse . . . . 1 match
         얼마나 많은 OpenSource 소프트웨어를 이용하십니까? (참고로, OpenSource와 FreeWare는 다른 개념입니다.). [숫자증가식투표패턴]을 사용합니다.
  • HowManyPiecesOfLand? . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HowManyZerosAndDigits . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • HowToEscapeFromMoniWiki . . . . 1 match
         이 문서에서 기술한 내용은 ZeroPage에서 사용하던 MoniWiki에서 다른 위키 엔진으로 이주(migration)하기 위해 고민하고 연구하고 실제 적용하는 과정에서 정리한 것입니다.
  • ISAPI . . . . 1 match
         Internet Server Application Programming Interface 의 약자로 개발자에게 IIS 의 기능을 확장할 수 있는 방법을 제공한다. 즉, IIS 가 이미 구현한 기능을 사용해서 개발자가 새로운 기능을 구현할 수 있는 IIS SDK 다. 개발자는 ISAPI 를 이용해서 Extensions, Filters 라는 두 가지 형태의 어플리케이션을 개발할 수 있다.
  • ImmediateDecodability . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • IntegratedDevelopmentEnvironment . . . . 1 match
         종종 일반 Text editor가 너무나 많은 기능을 제공하는 나머지 IDE랑 헷갈리기도 한다. vim의 plugin을 깔거나 sublime을 잘 설정하면 IDE부럽지 않게 사용할수 있으나 해당 프로그램은 기본적으로 TextEditor이다. plugin을 통해서 지원하는 기능은 사실상 통합된 기능이라 보기 어렵기 떄문이다.
  • IntentionRevealingMessage . . . . 1 match
         어떻게 된건가? 의사소통이다. 한 줄의 메소드가 의사소통에 가장 중요하다.(?) 사용자의 입장에서는 그냥 highlight라는 메세지에 영역만 넣어서 보내면 되는 것이다. 사각형을 뒤집음으로써 highlight된다는 사실을 몰라도 되는 것이다. IntentionRevealingMessage는 컴퓨터를 위한다기보다는 사람을 위한 가장 극단적인 형태의 패턴이다. 의도와 구현을 분리하자는 것이다. 메세지의 이름을 그 메세지 내에서 어떻게 되는건가로 짓지 말고, 그 메세지가 무엇을 하는건가로 짓자.
  • IntentionRevealingSelector . . . . 1 match
         컬렉션을 사용하는 유저의 입장에서 각 컬렉션이 서치를 어떻게 하는지는 알 바 아니다. 알고 싶지도 않을 것이다. 바꿔보자.
  • IsBiggerSmarter? . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • IsThisIntegration? . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • JMSN . . . . 1 match
         * 사용자의 일부 properties(Foward list, Reverse list, Allow list, Block list, GTC setting, BLP setting)-$1는 서버에 저장된다. $1은 client에 캐시된다. client에 캐시된 $1를 최신의 것으로 유지해야 한다.
  • JUnit . . . . 1 match
         참고로 저는 다음과 같이 배치화일을 만들어서 사용합니다. (주로 ViImproved 에서 Java 코딩을 하는 관계로)
  • Java/JSP . . . . 1 match
         = 사용예 =
  • Java/ModeSelectionPerformanceTest . . . . 1 match
         === 네번째. Inner Class 에 대해 Command Pattern 의 사용. ===
  • JavaHTMLParsing/2011년프로젝트 . . . . 1 match
          System.err.println("잘못된 URL입니다. 사용법 : java URLConn http://hostname/path]");
  • JavaScript/2011년스터디/JSON-js분석 . . . . 1 match
          * toJSON에서 key를 파라메터로 넘기는 이유(코드내에서 사용하지는 않는다)
  • JavaStudy2003/두번째과제 . . . . 1 match
          * 이번 과제의 목표는 '''"자바와 친해지기"''' 입니다. 저번 수업에서 간단히 자바의 OOP문법을 설명해 드렸는데요. 그 밖의 소스나 아니면 참고자료, 책 등을 사용해서 간단한 프로그램을 만들도록 하겠습니다.
  • JavaStudy2004 . . . . 1 match
          * 추천도서 - Java HowToProgram - Deitel사. 2학년 전공 JavaProgrammingClass에서 교재로 사용하는 책. 간단하고 쉽다. 자바를 처음 시작하는 이에게 추천도서
  • JavaStudy2004/오버로딩과오버라이딩 . . . . 1 match
          위에서 말한 People클래스의 move함수를 예를 들어보겠다. 위의 move함수는 정수형 인자를 매개변수로 받아들인다. 만약 people.move(1.1, 2.13)라는 명령어를 실행한다면 매개변수의 타입이 다르다는 에러가 발생할 것이다. 더블 형의 인자를 받아들이기 위해 move함수를 Overloading한다. move(double aX, double aY){this.position.x += (int)aX;this.position.y += (int)aY;} 두 함수 다 유효한 함수로 사용된다. 두 함수 중 어떤 함수가 호출될 것인지는 매개변수 값에 의해서 결정된다. 즉 오버로딩 된 함수들은 반드시 매개변수의 타입이 달라 서로 구별될 수 있어야 한다.
  • JavaStudy2004/조동영 . . . . 1 match
          //사용이 안되었네요.
  • JavaStudy2004/클래스 . . . . 1 match
          * 클래스 - OOP를 구현하기 위해 자바에서 사용하는 개념
  • JollyJumpers . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • JollyJumpers/iruril . . . . 1 match
          // input()은 getIntArray()에서 사용
  • JollyJumpers/강희경 . . . . 1 match
          *binaryMap이라는 bool형 리스트를 사용하여 gap의 중복을 검사
  • JollyJumpers/문보창 . . . . 1 match
          bool bitJolly[MAX]; // bitJolly[0]은 사용하지 않는다.
  • JollyJumpers/임인택2 . . . . 1 match
         == 사용예 ==
  • JollyJumpers/황재선 . . . . 1 match
         1. {{{~cpp TreeSet}}} 을 사용했다. sort에 log(n)이 소요된다.
  • JosephYoder방한번개모임 . . . . 1 match
          * agile is good for refactoring, 애자일을 사용하면 설계도 리팩토링할 수 있다.
  • Jython . . . . 1 match
          * 아래와 같이 하면 한글을 제대로 받을 수 있다. 나는 파이썬에 있는 디코드, 인코드 함수를 사용하려고 했는데 잘 되지 않았고, 생각을 바꿔서 자바에 있는 인코드, 디코드 방법을 썼다.
  • KeyNavigator . . . . 1 match
         로그인과 로그아웃시 마우스 사용을 하지 않고 키의 여정을 최소화 했습니다.
  • KnowledgeManagement . . . . 1 match
          * 세번째 지식의 종류는 embedded knowledge 이다. 이것은 물리적인 사물에 비 명시적인 방법으로 내재되어 있는 지식이다. 예를 들어서 알려지지 않은 장치의 모양과 특성은 그 기계가 어떻게 사용되어지는지 이해하는지에 대한 핵심 요소를 포함하고 있다.
  • LC-Display . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • LC-Display/문보창 . . . . 1 match
         쉽게 생각하고, 구상을 하지 않고 바로 코딩을 한 후유증을 여실히 보여준다. 수행시간이나 메모리사용이 만족스럽지 못하고, 코드또한 가독성이 떨어진다. 추후 리펙토링이 필요하다.
  • LazyInitialization . . . . 1 match
         별로 안쓸듯하지만... 켄트벡 왈 : 일단은 ExplicitInitialzation으로 출발을 하고, 상속될 거 같으면 LazyInitialization을 사용한다.
  • LightMoreLight . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • LightMoreLight/문보창 . . . . 1 match
         간단한 문제였으나, 처음에 문제 분석을 잘못하여 시간을 소비했다. 정수론 문제의 경우 문제분석만 잘해 준다면 의외로 쉽게 풀리는 것 같다. 수행시간과 메모리 사용량이 많다. 보다 좋은 알고리즘을 생각해야 한다.
  • LinkedList . . . . 1 match
         || 작성자 || 소스 || 사용 언어 ||
  • LinkedList/영동 . . . . 1 match
         == 자유공간리스트(?) 사용 ==
  • Linux/ElectricFence . . . . 1 match
         리눅스에서 사용가능한 CrtDbg 정도로 생각하면 좋다.
  • LinuxProgramming/SignalHandling . . . . 1 match
         유닉스 시스템에서 어떤 이벤트(event)가 발생하면 이것을 프로세스 사이에 알리는 수단으로 시그널이 사용된다.
  • LinuxServer . . . . 1 match
         서버를 구축하고 관리하고 다양한 웹 프로그램을 사용해 보는 프로젝트.
  • LoveCalculator/zyint . . . . 1 match
          알파벳에서 숫자가 아닌 문자(alpha = alpha - 'a' +1)로 처리 하였다면 가독성이 좋아지지 않았을까? 그런데, 이건 내 취향일 수도 있지만,.. class로 함수들을 묶어 외부 접근을 못하게 했으면 나중에 소스코드를 재사용하기 훨씬 쉬워졌을텐데. 함수 분류는 현태 말대로 좋은거 같네. (그리고 upper함수는 toupper라고 이미 구현되어 있어.) - 이영호
  • LoveCalculator/조현태 . . . . 1 match
          커플이야 사랑을 이딴걸로 확인할일 없을꺼고.. 사용하는 사람은 할일없는 솔로뿐..
  • MFC/DeviceContext . . . . 1 match
         DC가 사용하는 좌표계.
  • MFC/HBitmapToBMP . . . . 1 match
         // [hBitmap] : 이미지가 저장되어 있는 CBitmap (HBITMAP으로 변화하여 사용)
  • MFCStudy2006/Client . . . . 1 match
          * 실제 User가 사용할 Client를 제작
  • MajorMap . . . . 1 match
         BCD가 이진수 표현에 비해 갖는 장점 중 하나는, 표현할 수 있는 숫자 크기에 제한이 없다는 것이다. 다른 자릿수를 추가하려면, 그저 새로운 네 비트를 추가하기만 하면 된다. 이와는 대조적으로, 이진수 형식으로 표현된 숫자는 그 숫자를 표현하기 위해 사용되는 비트, 즉 8, 16, 32, 또는 64 비트 등에 의해, 표현할 수 있는 가장 큰 숫자가 제한된다. --from [http://terms.co.kr/]
  • Map/임영동 . . . . 1 match
         //벡터, 맵 사용 예제
  • MapBrowserSite . . . . 1 match
          * [http://www.congnamul.com/ 콩나물맵 브라우저] 이하는 콩나물을 사용하는 사이트들
  • Map연습문제/임영동 . . . . 1 match
         //벡터, 맵 사용 예제
  • Marbles . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • MatrixAndQuaternionsFaq . . . . 1 match
         위에는 이 글에서 사용하는 방법대루 하면 저렇게 된다는 뜻이구.. 저는 Gl 에서 쓰는대루 좌->우로 한 행을 해석하는 방법으로 설명합니다.
  • Microsoft . . . . 1 match
         마소는 세계에서 가장 큰 소프트웨어 회사이다. 대략 직원수만 50000명으로 각국에 분포해있다. 이 회사는 1974년 빌게이츠, 폴 앨런이 창업했다. 본사는 미국 워싱턴 레드몬드에 위치해 있다. 마소는 전세계적 규모로 다양한 장비들에 사용되는 소프트웨어를 개발, 생선, 라이센싱, 지원한다. 이 회사의 가장 대중적인 제품은 윈도우즈 운영체제 시리즈와 오피스 제품군이다. 이들은 각각 데스크탑 컴퓨터 시장에서 거의 독점적위치에 있다.
  • MindMapConceptMap . . . . 1 match
         MindMap 의 표현법을 다른 방면에도 이용할 수 있다. 결국은 트리 뷰(방사형 트리뷰) 이기 때문이다. [1002]의 경우 ToDo 를 적을때 (보통 시간관리책에서 ToDo의 경우 outline 방식으로 표현하는 경우가 많다.) 자주 쓴다. 또는 ProblemRestatement 의 방법을 연습할때 사용한다. --[1002]
  • MineSweeper . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • MineSweeper/이승한 . . . . 1 match
         이땐 객체가 무언지 잘 몰라서 함수와 전역 변수들만 가지고 만들어 본...-_-ㅋ;; C랑 다른건 Array 객체를 사용한 정도??;;
  • MineSweeper/황재선 . . . . 1 match
          * 자바에서 console 모드의 키보드 입력를 처음 사용했다. c보다 불편하다.
  • Minesweeper/이도현 . . . . 1 match
         방법은 여러가지가 있겠지만 아주 간단하게 2차원배열을 잡고 8가지 방향을 모두 조사해보는 방법을 사용하였다.
  • MoinMoin . . . . 1 match
          * 모인모인을 사용하는 위키 : [http://wikipedia.org], [http://no-smok.net]
  • MoniWiki/Release1.0 . . . . 1 match
         자꾸 욕심이 많아지네요 :) MoniWiki는 [개인 위키]를 목표로 합니다. 따라서 StandaloneWiki 혹은 DesktopWiki로 사용할 수 있는 쉬운 위키엔진이 목표입니다.
  • MoniWikiPlugins . . . . 1 match
         == 사용자 인터페이스 관련 ==
  • Monocycle . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • MySQL/root암호분실시 . . . . 1 match
         == 2. 두번째 방법 (첫번째 방법으로 안될때만 사용하세요.) ==
  • NIC . . . . 1 match
         ["zennith"]가 사용하고 있는 NIC 는 현재 '''Realtek 8029(AS)''' 이다. 이 NIC 에 대해서 특별히 불만은 가지고 있지 않았지만, 얼마전에 경험하게 되었다. 바로, Linux 에서의 드라이버 지원 문제였는데, 동사의 8139(10/100 mega bit ethernet 카드로서, 대부분 리얼텍 NIC 를 쓴다고 한다면 이8139일 것이다.)는 매우 잘 지원되는 것으로 보였으나.. 단지 10m bit ethernet 인 내 8029 는 너무 오래전에 나온것인지 꽤, 고난과 역경을 겪게끔 하는 그런 카드였다. 그래서, 지금 ["zennith"] 가 알아보고 있는 카드가 두개 있다. 하나는 ACTTON 에서 나온 것과, 또 다른 하나는 그 이름도 유명한 NetGear 에서 나온 10/100 카드이다. 전자의 ACTTON 것은 나름대로 한 시대를 풍미했던 DEC 의 튤립이란 카드의 벌크 제품이라던데... 7000원이라는 가격이 매우 돋보이지만, 이것역시 벌크제품인지라 드라이버 지원문제가 꽤 걸릴거 같아서, 아무래도 NetGear 의 제품을 사게 될 것 같다.
  • NSIS/예제3 . . . . 1 match
          ; 사용했던 디렉토리들 제거.
  • NSIS/예제4 . . . . 1 match
         SpaceTexts "필요한 용량 : " "사용가능한 용량 : "
  • NUnit/C#예제 . . . . 1 match
         이대로 쓰기에는 다른 xUnit에 비하면 사용이 불편하다. 하지만 몇 가지 설정을 해 놓으면 콘솔 실행을 자동으로 수행할 수 있다.
  • NeoZeropageWeb . . . . 1 match
         태터 1.0 출범과 함께 다중 사용자의 지원이 가능한 것을 이용함
  • NiceMilk . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • NumberBaseballGame/jeppy . . . . 1 match
          이것저것 해봐야겠당~ editplus 사용해도 꽤 괜찮넹.. 답답한 도스환경에서 해방~
  • NumericalAnalysisClass . . . . 1 match
         하지만 이 책은 다르다. 어떤 문제를 접했을 때 어떻게 프로그램을 새로 만들어 내야하는지, 디자인은 어떻게 해야하고, 훌륭한 프로그램을 어떻게 만드는지를 말하고 있다. 게다가 OOP를 "정말" -- 시늉으로써만이 아니고 -- 사용한다. 모든 코드가 Java와 Smalltalk 양자로 쓰여있는 점도 큰 장점이다.
  • OOP . . . . 1 match
          * [Implementation](구현 : 인간의 개념 속에 존재하는 생각과 사상 등을 실제 물리적인 객체로 구성하는 일련의 작업. 예를 들어 새로운 구조의 컴퓨터 시스템을 만들어 내는 작업과 설계 과정을 거쳐서 전달된 내용을 실제 프로그램으로 구성하여 컴퓨터에서 사용할 수 있도록 하는 작업 등이 모두 구현 작업의 한 가지에 해당된다고 할 수 있다. : 정보문화사 컴퓨터 용어사전 발췌)
  • ObjectWorld . . . . 1 match
         두번째 Session 에서는 세분이 나오셨습니다. 아키텍쳐란 무엇인가에 대해 주로 case-study 의 접근으로 설명하셨는데, 그리 명확하지 않군요. (Platform? Middleware? API? Framework? Application Server? 어떤 걸 이야기하시려는것인지 한번쯤 명확하게 결론을 내려주셨었더라면 더 좋았을 것 같은데 하는 아쉬움.) 아키텍쳐를 적용하는 개발자/인지하는 개발자/인지하지 못한 개발자로 분류하셔서 설명하셨는데, 저의 경우는 다음으로 바꾸어서 생각하니까 좀 더 이해하기가 쉬웠더라는. '자신이 작업하는 플랫폼의 특성을 적극적으로 사용하는 개발자/플랫폼을 이해하는 개발자/이해하지 못한 개발자' 아직까지도 Architecture 와 그밖에 다른 것들과 혼동이 가긴 하네요. 일단 잠정적으로 생각해두는 분류는 이렇게 생각하고 있지만. 이렇게만 정의하기엔 너무 단순하죠. 해당 자료집에서의 Architecture 에 대한 정의를 좀 더 자세히 들여다봐야 할듯.
  • OeKaki . . . . 1 match
         == 사용법 ==
  • Ones . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Ones/문보창 . . . . 1 match
         다른 통과자에 비해 수행시간이 매우 길고, 메모리 사용량이 많다. 추후 다른 접근방법도 생각해 보자.
  • OpenGL스터디_실습 코드 . . . . 1 match
         == 스텐실을 사용한 물결흠이 새겨진 사각형 애니메이션 그리기 ==
  • OperatingSystemClass/Exam2006_2 . . . . 1 match
         5. Raid의 정의와, 사용하는 이유, 각 레벨 별 특징을 약술하시오.
  • OurMajorLangIsCAndCPlusPlus/Variable . . . . 1 match
         전역 변수 - 해당 파일 내에서 유효함 (외부 참조 가능), BSS 세그먼트의 공간 사용
  • OurMajorLangIsCAndCPlusPlus/XML . . . . 1 match
         반드시 C로 작성할 것! (확장자 .c 사용)
  • OurMajorLangIsCAndCPlusPlus/float.h . . . . 1 match
         float형에서 가수부를 표현하는데 사용되는 비트수. 다음 표현식은 가수부 숫자들의 제한된 수 때문에 1. 0이 나온다(수학적으로는 그것이 될 수 없을 지라도):
  • OurMajorLangIsCAndCPlusPlus/limits.h . . . . 1 match
         ||MB_LEN_MAX ||사용할 수 있는 모든 로케일에서 문자의 최대 바이트 수 ||2 ||
  • OurMajorLangIsCAndCPlusPlus/stdarg.h . . . . 1 match
         - 사용법은 [OurMajorLangIsCAndCPlusPlus/Function] 참고
  • PC실관리/2013 . . . . 1 match
          * Clonezilla CD 없이 사용하는 방법 연구중...
  • PC실관리/고스트 . . . . 1 match
          * 시스템 등록정보 - 시스템 복원 : 모든 드라이브에 시스템 복원 사용 안 함 체크. (고스트 이미지의 용량을 절감할 수 있음)
  • PC실관리수칙 . . . . 1 match
         3. 인쇄물이 남아있어 프린터를 사용하지 못하는 경우, 삭제되지 않으면 프린트를 끄고 몇초 후 다시 켜보는 것을 추천한다. 이후에도 차도가 없다면, 2번 프로세스를 따라가는 것이 좋다.
  • PNGFileFormat/FileStructure . . . . 1 match
          || IDAT || o || 여러개가 사용된다면 반드시 연속적이어야 함 ||
  • PageHitsMacro . . . . 1 match
         특정 사용자명, 가령 개인위키라면 그 위키 주인, 은 제외하고 incCounter()하는 게 어떨까요?
  • PageListMacro . . . . 1 match
         == 사용례 ==
  • PlayFramework . . . . 1 match
         [Java] 를 사용하는 web framework
  • Plugin/Chrome/네이버사전 . . . . 1 match
         영어로 보는게 더 자세하지만 난 한국인이라. 간단히 말하자면 인터넷에서 자료를 주고받을때 그 자료형식을 정의하는 문서인데 javascript구문을 사용하는 파일이다. xml보다 web에서 효과적이기 때문에 web상에서 쓰인다고 한다. 좋은거 배우네.
  • PolynomialCoefficients . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • PowerOfCryptography . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • PowerOfCryptography/Hint . . . . 1 match
         2. 꼭 루프를 사용해야 하나?
  • PowerOfCryptography/이영호 . . . . 1 match
         // 여기서 문자를 숫자로 변경하고 log10 함수를 사용한다.
  • PrimaryArithmetic . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • PrimaryArithmetic/sun . . . . 1 match
         문제 풀이를 위해서 별다른 알고리즘이 아닌 현실에서의 덧셈 방법을 사용했고, 코드량이 별로 되지 않음에도 1시간이 걸린것은 도중에 msn으로 친구과 채팅을 하며 했기 때문이다. 본인이 느끼기에는 msn을 얼마 하지 않았던것 같은데 실제로는 시간이 꽤 지나있는걸 보면 아인슈타인의 상대성원리에 따라 시간이 흐름을 알 수 있다. 직장인의 경우 이것을 좀 더 일반화 해보면, '왠지 오늘 하루 일하기 싫다'라고 느껴지고, 휴가를 쓸 수 없을땐 근무중에 메신저를 하면 시간이 금방 감을 알 수 있겠다.
  • ProgrammingPearls/Column5 . . . . 1 match
          * c에서의 assert문을 사용하는 테크닉 같은 것을 보여주고 있다.
  • ProgrammingPearls/Column6 . . . . 1 match
          * 하드웨어 업글 : 부동소숫점 연산 가속기를 사용
  • ProjectEazy . . . . 1 match
         PyKug:KoCo - hangul 모듈 설치, 사용
  • ProjectGaia/계획설계 . . . . 1 match
          정렬된 레코드를 page(4KB) 단위로 입력, page에는 header와 slot이 차지하는 공간을 제외한 크기만큼 레코드를 저장할 수 있다. 레코드를 page에 입력할 때 비신장 가변길이 저장 방법을 사용, 입력될 레코드가 page의 남은 공간보다 클 경우 다음 page에 입력된다.
  • ProjectLegoMindstorm . . . . 1 match
          * 빨리 위키 사용법을 익히고 페이지를 만들어 나갔으면 좋겠네요. - [이승한]
  • ProjectPrometheus/BugReport . . . . 1 match
          * 현재 문제에 노출되어 있으나, 현재까지는 문제 없이 사용해왔다. 점검이 필요하다.
  • ProjectPrometheus/Iteration5 . . . . 1 match
         || 도서관 검색 결과를 사용자 평가도에 따라 정렬하기 || . || . ||
  • ProjectPrometheus/Iteration7 . . . . 1 match
         || 사용자 등록 페이지 || 0.5 || ○ ||
  • ProjectPrometheus/Iteration8 . . . . 1 match
         || My Page 사용자 공지 || 0.5 || ○||
  • ProjectPrometheus/LibraryCgiAnalysis . . . . 1 match
          사용자 정보 ( 필수 사항 구분 )
  • ProjectPrometheus/MappingObjectToRDB . . . . 1 match
          사용자 데이터
  • ProjectPrometheus/Tips . . . . 1 match
         === Python 에서의 한글 사용 ===
  • ProjectPrometheus/방명록 . . . . 1 match
          * 우선 프로메테우스가 대상을 받은 거 축하드립니다...^^ 한편 한 번 써볼라고 사용자 등록을 하려니까 '500 Servlet Exception' 이 나네요...-,-;;; 그리고 저희 집 해상도가 1024 * 768 인데 프레임 오른쪽이 쬐끔 잘리네요. --재동
  • ProjectSemiPhotoshop/기록 . . . . 1 match
          || 10.17 || 첫미팅: 위키사용법, ''현민이를 고수로!'' 계획, 자료실 계획 ||
  • ProjectSemiPhotoshop/요구사항 . . . . 1 match
         == Spec , To Do - 사용자 스토리 ==
  • ProjectVirush/UserStory . . . . 1 match
         사용자는 id, pw를 입력한다.
  • ProjectZephyrus/PacketForm . . . . 1 match
          이 패킷은 사용 안함
  • ProjectZephyrus/ServerJourney . . . . 1 match
          * Eclipse 사용법 배웠고, 지금까지의 서버 디자인에 대한 설명을 들었습니다. 그리고 약간의 의견교환도 있었구요. 하지만 서버 디자인에 대한것은 대부분의 윤곽은 잡혔지만 다같이 모여 여러번 이야기를 하며 아직 정확하지 않은 것들을 잡아가야 할 듯 합니다. 그리고 {{{~cpp DBConnectionManager}}}를 통해 ZP 서버의 MySQL에 접속해보고 몇가지 테스트를 해 보았습니다.(테이블 만들기, 자료 추가하기, 자료 조회하기) --상규
  • ProjectZephyrus/ThreadForServer . . . . 1 match
          글구 아까 상규한테 MySQL 사용법 대충 들었습니당 -재동-
  • ProjectZephyrus/일정 . . . . 1 match
         ||5.24 (금)||영서 - 10시, 창섭 - 3시|| Study 상태 점검. CVS 사용법 시연 & 연습. 약간의 Small Client 구현|| ○ ||
  • PyGame . . . . 1 match
         사용하기 정말 쉽다. [Python] Interpreter 에서 한줄 한줄 입력하면서 공부할 수도 있다.
  • PythonFeedParser . . . . 1 match
         원래 다른 feedParser 사용하다가 한글이 잘 안되는 경우가 있어서 검색 하다가 위 링크의 파서 발견. 훨씬 좋음. 한글 파싱 잘된다. 진작 위 파서로 만들걸.. - [(namsang)]
  • PythonIDE . . . . 1 match
         파이선은 나온지 상당히 오래된 언어이며, 대안언어중에서 사용자가 가장 많은 상당히 비중이 높은 언어이다. 비록 어처구니 없는 상황하에서 발생하는 에러가 무시하지 못할 수준이기는 하지만 언어의 특징인 최대의 간격함과 빠른 개발을 위한 다양한 특징이 언어자체에 내포되어있다.
  • PythonLanguage . . . . 1 match
          * http://python.or.kr - 파이썬 정보 광장 (국내 파이썬 사용자들 그룹)
  • PythonMultiThreading . . . . 1 match
         사용하는 방법은 매우 간단. Thread class 를 상속받은뒤 Java 처럼 start 메소드를 호출해주면 run 메소드에 구현된 내용이 multithread 로 실행된다.
  • RUR-PLE/Etc . . . . 1 match
          * 이 경우에서의 처리를 while 문을 사용하여 처리한다.
  • RandomWalk/임인택 . . . . 1 match
         === 소스 2 : 1에 [STL]을 사용하고 약간의 [Refactoring] ===
  • ReverseAndAdd . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Ruby/2011년스터디/김수경 . . . . 1 match
          * ZeroPage에서 사용할 수 있는 대화방을 Ruby로 구현한다.
  • RubyLanguage/Class . . . . 1 match
         1은 다음과 같이 사용할 수 있다.
  • RubyLanguage/ExceptionHandling . . . . 1 match
          *사용법 : rescue 예외클래스명
  • RubyLanguage/InputOutput . . . . 1 match
          * 파일을 new로 부르지 않고 사용할 수 있다.
  • RuminationOnC++ . . . . 1 match
         아마존의 서평이 상당히 좋은 편이다. 비록 몇명안되는 리뷰만 있지만... 책을 본 사람들의 평가의 극상의 수준이다. 초급 C++ 프로그래머가 보기엔 좀 무리가 있는 내용이지만 재미있게 남는 시간에 읽을 수 있다.. (대략 50쪽에 핸들 클래스를 사용하라는 내용이 나온다.)
  • STL/sort . . . . 1 match
          * 한가지 주의할점. 이 sort알고리즘은 컨테이너가 임의 접근(Random Access)을 허용한다는 가정하에 만든것이다. vector나 deque처럼 임의 접근을 허용하는 컨테이너는 이걸 쓸수 있지만. list는 임의 접근이 불가능해서 사용할수 없다. -l[5] 이런 접근이 안된다는 의미 - 따라서 list에서는 컨테이너 내부에서 sort메소드를 제공해 준다.
  • ScaleFreeNetwork/OpenSource . . . . 1 match
         = 사용 툴 =
  • Self-describingSequence . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Self-describingSequence/1002 . . . . 1 match
         메모리 사용량 : 31MB
  • Self-describingSequence/문보창 . . . . 1 match
         Sorted List 이므로 Search 부분에서 Linear Search 대신 Binary Search를 하면 좀 더 효율적이나, 이 정도만 해도 충분히 빠르다. 메모리 사용량을 줄이려면 어떻게 해야 할까?
  • Self-describingSequence/황재선 . . . . 1 match
          * 메모리 사용을 줄이기 위한 방안이 필요하다. 또한 입력값에 맞는 배열 크기 할당이 요구된다. 여기는 입력 값에 관계없이 최대 입력 값에 맞는 배열 크기를 할당하였다.
  • ShellSort . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • SibichiSeminar/TrustModel . . . . 1 match
          * 세미나 주제가 참 놀라웠습니다. 페이스북을 이용해 관심사가 같은 사람들을 엮어주는 앱은 이미 나와있지만, 이건 일일히 사용자가 입력을 해야하는데, TrustModel은 프로그램이 알아서 다해주는것 같더군요. 지식이 얇아서 여기까지밖에 이해 못했습니다. 꺼이꺼이. 세미나 막간에 넣은 M-16인용 개발자-기획자-디자이너의... 뭐라고 해야하나요. 암튼 재밌게 잘 봤습니다. 삼위일체가 답이군요. 하하하하.. 정확한 커뮤니케이션은 정말 힘든것 같아요. 새내기 다운 새내기가 없다는 말씀을 자꾸 하셨는데.. 저 새내기 맞아요 ㅜㅠ C언어도 학교 오고나서야 처음으로 알았어요 ㅜㅠ - [고한종]
  • SimpleDelegation . . . . 1 match
         위임을 사용할때, 당신이 필요한 위임의 묘미(?)를 분명하게 해주는 도와주는 두가지 이슈가 있다. 하나는, 위임하는 객체의 주체성이 중요한가? 이다. 위임된 객체는 자신의 존재를 알리고 싶지 않으므로 위임한 객체로의 접근이 필요하다.(?) 다른 하나는, 위임하는 객체의 상태가 위임된 객체에게 중요한것인가? 그렇다면 위임된 객체는 일을 수행하기 위해 위임한 객체의 상태가 필요하다.(너무 이상하다.) 이 두가지에 no라고 대답할 수 있으면 Simple Delegation을 쓸 수 있다.
  • Slurpys/문보창 . . . . 1 match
         힘들게 버그를 잡고 통과. 재귀함수 사용시 여러가지 통로(?)를 잘 관리해 줘야한다.
  • SmallTalk/강좌FromHitel/Index . . . . 1 match
          | ! 2.3.1. 탐색기 사용하기 <#13>
  • SmallTalk/강좌FromHitel/차례 . . . . 1 match
          | ! 2.3.1. 탐색기 사용하기 <#13>
  • SmallTalk_Index . . . . 1 match
          | ! 2.3.1. 탐색기 사용하기 <#13>
  • SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 1 match
         때때로, 그러나, 한 객체의 정보는 다른 객체의 행위에 영향을 미칠 것이다. 정보의 사용이 단순할 경우, 또는 제한된 정보에 기반해서 선택이 가능할 경우에는 인코딩된 객체에게 메시지를 보내는 것이 충분히 가능하다. 이와 같이, 부울린 값들은 두 클래스의 하나의 인스턴스로 표현되어진다는 사실은, True 그리고 False, 메시지 #ifTrue: ifFalse:. 뒤로 숨겨진다
  • SmithNumbers/조현태 . . . . 1 match
          속도를 위해서 저번에 사용했던 소스를 또 우려먹긴 했지만..
  • SoftwareEngineeringClass . . . . 1 match
         시간이 나면 ExtremeProgramming에 대해서도 이야기를 하신다는데, 어떤 이야기가 나올지 궁금하네요. [SPICE] 레벨4는 되어야 사용할 수 있다는 말엔 조금 당황스러웠어요. --[Leonardong]
  • SpiralArray/영동 . . . . 1 match
          * 제대해서 처음으로 숙제를 제외하고 처음 짠 ToyProblem입니다. 1학년 때 프로그래밍잔치에서 못 짰던 걸 이제야 짰네요. 우선 소요시간으로 미루어 볼때 제대하고 나서 머리가 굳었다는 걸 느낄 수 있었고, 그만큼 처음부터 막 짜지 말고 설계 및 구상을 잘 해야겠다고 생각했습니다. 또한 객체지향으로 짠 것도 아니고 변수, 함수를 너무 지저분하게 쓴 거 같기도 하고... 반성할 점이 참 많았습니다. 그리고 일단 배열 크기도 미리 정했고 시작점도 0, 0으로 가정하고 해서 사용자의 잘 못된 입력에 대응하지 않은 점도 미비했네요.
  • SpiralArray/임인택 . . . . 1 match
         처음에는 다른 디자인으로 접근을 했는데, 일단은 문제를 풀어보자는 취지 하에 제일 쉽게 풀릴것 같은 방법을 사용하였다.
  • Squeak . . . . 1 match
          * 창준선배님과 상민형께서 올해초쯤에 마소에 게제하신 글을 보고 스퀵을 알게 되었습니다. (그전에 책을 갖고 있긴 했었지만요) 기사를 보고 스퀵을 조금 익혀두었다가 나중에 자식을 낳고 자식과 같이 스퀵을 즐길 수 있었으면 좋겠다는 생각을 하고 스퀵을 해봐야겠다는 생각을 했습니다. 하지만 아직 사용하고 있는 사람들이 많지 않은것 같더군요 - 임인택
  • StackAndQueue . . . . 1 match
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
  • StacksOfFlapjacks . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Star . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • StarCraft . . . . 1 match
         늘 그렇듯이 대부분의 사람들이 물리적 대상과 객체를 대응하는 고정관념에 빠져있어서 문제가 됩니다. 관계, 개념 등도 객체가 될 수 있다는 발상전환을 가능케 해주면 좋겠지요. 처음에 이런 사항만 넌지시 알려주고 디자인 하게 합니다. 그러고 나서, 일단 학생들의 디자인으로 개발한 것을 놓고, 같이 토론해 보고(이 때 선배는 뒤에 물러서 관찰만 함) 다시 한번 새로 디자인하게 합니다. 그리고 이번에는 선배가 디자인한 것을 후배들이 최종적으로 디자인한 것과 동등하게 같이 놓고 토론해 봅니다. 이 때 중요한 것은 선배의 것이 마치 "궁극적 해답"인 마냥 비치지 않도록 주의하는 것이겠죠. (디자인 시에는 KentBeck과 WardCunningham이 최초 교육적 목적에서 개발한 CrcCard를 사용하면 아주 훌륭한 결과를 얻을 것입니다.) --JuNe
  • Steps . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • StringCompression . . . . 1 match
         모든 경우를 다 해 보는 알고리즘은 O(n^3) 이 되네요. String Matching에서 좀 더 효율적인 알고리즘을 사용해보면 좀더 줄일수 있을텐데... -- 보창
  • StringOfCPlusPlus/상협 . . . . 1 match
          char* stval() {return st;}//이걸 알자:배열 전체 리턴 할때 * 사용 ..
  • StringOfCPlusPlus/영동 . . . . 1 match
          cout<<"사용할 메뉴의 번호는?(7을 누르면 종료): ";
  • SummationOfFourPrimes . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(10000000 값 기준 4초 이내 통과 여부) ||
  • SwitchAndCaseAsBadSmell . . . . 1 match
         그리고, 사고의 도구들을 적극적으로 활용하기 바랍니다. 스테이트 다이어그램이나, 심지어는 x,y 좌표계를 사용하는 것, 혹은 서브루틴을 통해 문제를 소문제(subproblem)로 나누는 것도 아주 훌륭한 사고의 도구가 됩니다 -- 문제의 복잡도를 낮춰주기 때문이죠.
  • TAOCP/BasicConcepts . . . . 1 match
          시프트 명령은 rA와 rX를 사용한다. SLA, SRA, SLAX, SRAX, SLC, SRC가 있다. M은 시프트하는 횟수를 나타낸다.
  • TabletPC . . . . 1 match
         마이크로소프트 전시관에서 관객들의 눈길을 끈 제품은 단연 태블릿 PC 윈도우 XP 에디션. 빌게이츠가 기조연설에서 강조한 때문인지 많은 사람들이 관심을 보였다. 화면 가득한 윈도우 XP의 세련된 UI와 키보드를 대신한 펜이 눈에 들어왔다. 태블릿 PC는 데스크톱PC의 장점을 그대로 살리면서도 유동적이고 미팅이 잦은 비즈니스맨에게 적합한 제품이라고 한다. 향후 펜과 잉크 기능을 살린 애플리케이션이 추가된 버전이 소개될 예정인데, 이는 보험회사나 의사의 처방전 같은 곳에서 사용될 것이라고 한다. 이전 테크놀로지 전시회에서 대기업들이 내놓은 유사한 태블릿 PC가 크게 성과를 거두지 못한 전례가 있는데도 MS가 이렇게 태블릿 PC를 강조한 이유는 무엇일까.
  • TdddArticle . . . . 1 match
         여기에서의 TDD 진행 방법보다는 Reference 와 사용 도구들에 더 눈길이 간다. XDoclet 와 ant, O-R 매핑 도구를 저런 식으로도 쓸 수 있구나 하는 것이 신기. 그리고 HSQLDB 라는 가벼운 (160kb 정도라고 한다) DB 로 로컬테스트 DB 를 구축한다는 점도.
  • TeachYourselfProgrammingInTenYears . . . . 1 match
         Pascal:3일간으로, Pascal 의 문법을 배우는 것은 가능할지도 모르는(유사한 언어를 이미 알고 있으면)가, 그 문법의 이용법까지는 충분히는 배울 수 없다.즉, 예를 들면 당신이 Basic 프로그래머이다고 하여, Basic 스타일로 Pascal 의 문법을 이용한 프로그램의 쓰는 법을 배울 수 있을지도 모르지만, Pascal 가 실제의 곳, 무엇에 향하고 있을까(향하지 않은가)를 배울 수 없다.그런데 여기서의 포인트는 무엇일까? Alan Perlis(역주1) 은 일찌기, 「프로그래밍에 대한 생각에 영향을 주지 않는 것 같은 언어는, 아는 가치는 없다」라고 말했다.여기서 생각되는 포인트는, 당신이 Pascal(그것보다 어느 쪽일까하고 말하면 Visual Basic 나 JavaScript 등의 (분)편이 현실에는 많을 것이다)를 그저 조금 배우지 않으면 안 된다고 하면(자), 그것은 특정의 업무를 실시하기 위해서(때문에), 기존의 툴을 사용할 필요가 있기 때문일 것이다.그러나, 그러면 프로그래밍을 배우는 것으로는 되지 않는다.그 업무의 방식을 배우고 있을 뿐이다.
  • Technorati . . . . 1 match
         RSS와 블로그의 폭발적인 사용에 힘입어 급속성장하고 있는 기업중에 하나. 기존 포탈의 top-down 방식의 정보 제공이 아니라 개별의 요소들을 종합해서 정보를 만들어내는 bottom-up 방식으로 가공된 정보를 제공하는 사이트.
  • TestSuiteExamples . . . . 1 match
         여러 UnitTestFramework에서 TestSuite를 사용하는 예제들
  • TheGrandDinner . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • TheKnightsOfTheRoundTable . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • TheTrip/곽세환 . . . . 1 match
          int student[1000]; // 학생들이 사용한 돈
  • TheWarOfGenesis2R . . . . 1 match
          3. [[HTML(<STRIKE>)]] DirectX - DirectGraphics / OpenGL 사용법 익히기. [[HTML(</STRIKE>)]] - 1시간 20분
  • TheWarOfGenesis2R/ToDo . . . . 1 match
          * 특정 컴퓨터에서 마우스커서가 깜빡임. -> Bitmap커서를 사용할 수도
  • Thread의우리말 . . . . 1 match
         [Thread]. 내가 처음으로 [ZeroWiki] 접근하게 되었을때 가장 궁금했던 것중 하나이다. 도대체 [Thread]가 무었인가?? 수다가 달리는장소?? 의미가 불분명 했고 사실 가벼운 수다는 DeleteMe라는 방법을 통해서 이루어지고 있었다. 토론이 펼쳐지는 위치?? 어떤페이지의 Thread의 의미를 사전([http://endic.naver.com/endic.php?docid=121566 네이버사전])에서 찾아보라고 하길래 찾아보았더니 실에꿰다, 실을꿰다, 뒤섞어짜다 이런 의미가 있었다. 차라리 이런 말이었으면 내가 혼란스러워해 하지는 않았을 것이다. [부드러운위키만들기]의 한가지 방법으로 좀더 직관적인 우리말 단어를 사용해 보는것은 어떨까?? - [이승한]
  • TkinterProgramming . . . . 1 match
         알아서 사용하면 됨. -_-;
  • TowerOfCubes . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • Trac . . . . 1 match
         dev를 위해서는 사실 위의 링크들의 설치 방법은 거의다 쓸모 없다. Trac이 10->11로 넘어가는데 오래 정체되고 있는 이유는 내부를 대폭 개선하고 있기 때문이다. Template engine과 소스 컬러링 엔진을 바꾸었고, 기존의 plugin으로 존재하던 유용한 관리 도구들을 모두 결합하고 있다. 자료 구조도 손보고 있다. NeoCoin이 몇달간 dev버전을 사용해 보면서 별 무리 없이 이용하고 있다.
  • Trace . . . . 1 match
         MFC 에서 제공하는 {{{~cpp TRACE }}} 매크로의 기능을 VC 의 다른 프로젝트에서도 사용할 수 있다. 단, 여기서는 매크로가 아니라 함수인것을 유념하자.
  • TugOfWar . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • UglyNumbers . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(4초 통과여부) ||
  • UglyNumbers/곽세환 . . . . 1 match
          * STL사용하니 한결 간편하다
  • UglyNumbers/송지훈 . . . . 1 match
         sorting 을 사용하는 방법을 생각해봐야 하겠다 라는 것을 느낌.
  • UpdateWindow . . . . 1 match
         일반적으로 하노이의 탑은 재귀함수 알고리즘이 가장 쉽기 때문에, 재귀함수를 사용하여 짜고 있었다.
  • UploadedFiles . . . . 1 match
         == 사용법 ==
  • VMWare . . . . 1 match
         VMWARE 는 보통 개발 중인 OS 테스트 환경, 임베디드 환경의 크로스 컴파일 환경, 개발 중 어플리케이션의 다양한 플랫폼에서의 테스트 비용 최소화를 위해서 많이 사용한다.
  • VMWare/UsefulFunctions . . . . 1 match
         가상 머신이 리눅스이고 VMWARE TOOL 의 바이너리와 호환성을 갖지 못한다면 커널 드라이버를 컴파일 해서 설치해야함. (물론 VMWARE 설치 스크립트가 알아서 해줌, 우분투 DD 에서는 정상동작 하지 않았음. 데비안, 페도라 사용 가능함.)
  • VimSettingForPython . . . . 1 match
         Python extension 이 설치된 상태에서 사용 가능하다.
  • WERTYU . . . . 1 match
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • WebMapBrowser . . . . 1 match
          * 여기에 또한 집합 지성을 활용할 수도 있다. 각 노드(웹 페이지) 들을 거쳐간 사용자들이 어떤 노드로 이동하는지 통계도 나오게 하여서 자신과 비슷한 관심사 노드(웹)을 방문한 사람이 어떠한 사이트로 이동하는지를 볼 수 있게 된다.
  • WeightsAndMeasures/신재동 . . . . 1 match
         클래스를 사용한다면 스스로 어떻게 정렬될지 아는 놈으로 만드는 것도 좋겠다.
  • WikiProjectHistory . . . . 1 match
         || ["NSIS_Start"] || ["1002"] || 2002.2.1~2.9. NSIS Installer에 대한 사용법 작성 ||종료||
  • WikiSandBox . . . . 1 match
         흔히 사용되는 두가지 horizontal line 의 차이점을 보세요.
  • WindowsConsoleControl . . . . 1 match
         터보 C를 사용할때는 라이브러리로 콘솔제어를 쉽게 하는 함수들이 존재하였다. MS의 콘솔을 배제하는 정책 때문인지 함수는 존재하지만, 불편한 인터페이스를 그대로 유지하고 있는데, 이를 살작 추상화 시키는 간단한 소스들이다.
  • WindowsTemplateLibrary . . . . 1 match
         WTL은 객체지향적인, Win32 를 캡슐화하여 만들어진 C++라이브러리로 MS 에서 만들어졌다. WTL은 프로그래머에 의한 사용을 위해 API Programming Style을 지원한다. WTL MFC에 대한 경량화된 대안책으로서 개발되었다. WTL은 MS의 ATL를 확장한다. ATL 은 ActiveX COM 을 이용하거나 ActiveX 컨트롤들을 만들기 위한 또 다른 경량화된 API 이다. WTL은 MS 에 의해 만들어졌디면, MS 가 지원하진 않는다.
  • XML/PHP . . . . 1 match
         PHP에서 XML 사용
  • XMLStudy_2002/XSL . . . . 1 match
         XSL의 사용법과 필요성과 역할을 배움
  • XOR삼각형 . . . . 1 match
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
  • XpQuestion . . . . 1 match
         - Story Card 는 Kent Beck 이 사용자와 더 빠른 피드백을 위해 생각한 덜 형식적인 방법이다. 어차피 Story Card 는 전부 AcceptanceTest 로 작성할 것이기에, 테스트가 작성되고 나면 AcceptanceTest 가 도큐먼트 역할을 할 것이다. Index Card 도구 자체가 보관용이 아니다. 보관이 필요하다면 위키를 쓰거나 디지털카메라 & 스캐너 등등 '보관용 도구', 'Repository' 를 이용하라.
  • XperDotOrg . . . . 1 match
         국내 ExtremeProgramming 사용자(?) 모임.
  • Yggdrasil/가속된씨플플 . . . . 1 match
          * 그런데 감히 ''완료''란 단어를 사용하기가 두렵다.
  • Yggdrasil/가속된씨플플/2장 . . . . 1 match
          * 비대칭적 범위(반개범위)를 사용하므로, [0,5)이면 루프가 5번 돈다는 것을 쉽게 알 수 있다. [1,5]면 5번 돈다는 것을 파악하기 힘들다.
  • Z&D토론백업 . . . . 1 match
          * 제가 이해하는 현상황 - 방금 ZP 위키 가서 몇 선배님들의 통합에 대한 글을 읽어 보았습니다.(어려운 위키를 거의 처음으로 제대로 사용한듯...-,-;;;) 그리고 여기 여러 글도 읽어 보았습니다.제가 이해하기로는 지금 상황은 (제 이해가 틀리다면 이야기해주세요) 고학번 선배님들 사이에서 의견차가 좀 있는 것 같아 보입니다. 이름 문제부터 시작해서 가장 기본적인 합치는 문제 까지... 서로에 대한 애착심이 강하다보니 의견차가 나는 것은 당연하다고 생각합니다. 그런데 정작 이야기의 주체가 되야할 00,01이 참여가 없어서 선배님들이 애 태우시는 듯 해 보입니다... 정말 죄송합니다.
  • ZIM/RealUseCase . . . . 1 match
         사용자 인터페이스와 함께 설명이 이루어지면 더 좋겠죠. 일단 ["ZIM/UIPrototype"]이 대강 나온다면... ^^;;;
  • ZPBoard/HTMLStudy . . . . 1 match
          * MySQL 과 PHP 를 사용해서 만들기
  • ZPBoardHistory . . . . 1 match
          *지금은 사용하지 않아서 역사의 뒷편으로~~~
  • ZPHomePage/레이아웃 . . . . 1 match
          * 집에가닥 글을 잘못썼다는 생각을 했는데 벌써 답글을 달았네요.. '''하면 안된다'''식으로 이해될 수가 있는것 같아 아차했습니다. 제 말의 요지는... 구현한 기능을 사람들이 얼마나 사용할까.. 였습니다. - [임인택]
  • ZeroPageServer/CVS계정 . . . . 1 match
          * CVS 계정은 신청하시기 전에 최소한 ["CVS"] 에 있는 ["CVS/길동씨의CVS사용기ForLocal"] 라도 따라해 보시고 신청하세요.
  • ZeroPageServer/FixDate . . . . 1 match
         그런데, rdate 가 이번 테스트 업그레이드 버전 부터 안되는 것이다. 새버전에서 servername 을 입력받을수 없다고 하는데, 왜그런지 모르겠다. 그래서 대안으로 이것을 사용한다.
  • ZeroPageServer/Telnet계정 . . . . 1 match
          * 소스나, 리포트의 중계 저장고로 사용할수 있다.
  • ZeroPageServer/계정신청방법 . . . . 1 match
          ==== 계정 종류 (사용하실 것만 신청하세요.) ====
  • ZeroPageServer/계정신청상황 . . . . 1 match
         * ''' 접속시 주의사항''' : ["ZeroPageServer/set2002_815"]에서는 ssh2 텔넷을 지원합니다. 접속시 [http://zeropage.org/pub/util/putty.exe putty]나, 접속하실때 ssh2 지원 client를 사용하세요. ssh1전용인 zterm은 작동하지 않습니다.
  • ZeroPagers . . . . 1 match
         학부생들은 자신의 개인페이지를 현재의 계획, 관심사를 적는 등의 용도로 사용해 주세요.[[BR]]
  • ZeroPage성년식/거의모든ZP의역사 . . . . 1 match
          * 충분한 시간이 지났다고 생각하여 위키에서 해당 내용 삭제합니다. 어떤 식으로든 문제의 소지가 있는 기록은 남기고 싶지 않습니다. 캡스톤 설계실의 사용과 ZeroPage의 관계에 대해서는 수차례 정모에서 말한 바 있기에 별도의 알림 없이 지웠습니다. - [김수경]
  • ZeroPage소개 . . . . 1 match
          * 아, 또 신입생 환영회때 소개하는 멘트에도 일부 사용하게될거 같네요~
  • ZeroWiki/Mobile . . . . 1 match
          만약 그래도 별개의 프로젝트로 진행하고 싶다면 [http://jquerymobile.com/ jQuery Mobile]을 사용하시는 것을 추천합니다. - [변형진]
  • ZeroWikian . . . . 1 match
         ZeroWiki 를 사용하는 사람들. ~~ZeroPagers와는 다르다 ZeroPagers와는!~~
  • Zeropage/Staff/회의_2006_01_19 . . . . 1 match
          * 도서관과 같이 2주의 대여기간을 주며, 1일당 100원의 연체료를 물린다. (연체료는 회비로 사용한다.)
  • [Lovely]boy^_^/Arcanoid . . . . 1 match
         == 사용하는 특수 기능 ==
  • [Lovely]boy^_^/Book . . . . 1 match
          * 체계적인 유닉스 사용법 - 떡's - 종필이형 세미나할때 빌렸었는데 여전히 안봄
  • [Lovely]boy^_^/EnglishGrammer . . . . 1 match
          ''영문법을 공부하려면 한국의 웬만한 교재보다는 NoSmok:GrammarInUse 가 낫습니다. 보통 Murphy시리즈라고 부르죠 -- 레벨별로 책이 따로 나와서 "시리즈"라고 합니다. 이와 함께 Azar시리즈도 많이 봅니다. 외국에 어학연수란 걸 나가면 90% 이상 이 교재로 공부합니다(고로 어학연수가서 교실에서 하는 공부는 별거 없습니다). 문법 공부를 할 때에는 레퍼런스북이 있으면 좋은데, PEU(''Practical English Usage'', Michael Swan)를 적극 추천합니다. 영어실력에 상관없이 두고 두고 유용하게 사용할 것입니다. see also NoSmok:영어학습법 --JuNe''
  • [Lovely]boy^_^/EnglishGrammer/PresentPerfectAndPast . . . . 1 match
          (현재 완료를 언제 사용하느냐? 현재와 뭔가 연관 관계가 있을때.. 즉 과거에 있었던 일이 현재에 영향을 미칠때. 역시 어렵군..;;)
  • [Lovely]boy^_^/영작교정 . . . . 1 match
          * 역시.. 어순과, 전치사 사용이 문제가 되었다.
  • callusedHand/projects/fileManager . . . . 1 match
          * 사용 언어: C
  • callusedHand/projects/messenger . . . . 1 match
          * 사용언어: Java
  • comein2 . . . . 1 match
          * E-BANKING 시스템 기반 사용자 인증 방법에 대한 연구
  • django/ModifyingObject . . . . 1 match
         데이터베이스에서 레코드를 삭제하는 작업은 Model클래스의 delete메소드로 추상화했다. 하지만 내부에서 실제로 레코드를 삭제하는 메소드는 delete_objects이다.[8] delete_objects메소드는 지우려는 레코드를 참조하는 다른 테이블의 레코드까지 함께 삭제하거나, 외래키를 NULL값으로 설정한다. 예를 들어 다음은 Risk테이블에서 한 레코드를 삭제하는 경우 이를 참조하는 Consequence, Control 테이블의 레코드까지 함께 삭제하는지를 묻는 사용자 화면이다.
  • eXtensibleStylesheetLanguageTransformations . . . . 1 match
         XSLT를 잘 이용하는 곳의 하나로 feedburner를 뽑고 싶다. 한때 MS XSLT 구현 방법에 대해서 말도 많고 탈도 많았으나... 뭐 어쨋든 나름대로들 잘 사용하고 있는 듯 보임.
  • eclipse플러그인 . . . . 1 match
         내가 사용하는 플러그인 update 주소
  • erunc0/PhysicsForGameDevelopment . . . . 1 match
          * 게임에 사용되는 물리.
  • fnwinter . . . . 1 match
          사운드 프로그래밍(FFT/Eq/Sound Effect/BASS/FMOD 사용하기/공짜로 MP3를 다운받기)
  • html5/communicationAPI . . . . 1 match
          * close() : 포트를 사용할 수 없게 함
  • html5/richtext-edit . . . . 1 match
          * Selection 객체에 toString사용하면 선택한 범위의 문자열(HTML제외)가져옴
  • html5practice/즐겨찾기목록만들기 . . . . 1 match
          * 원래 목적은 naver api를 끌고 와서 별표 찍는 연습을 만들려고 했는데. 이건 뭐. ajax cross domain 문제로 접근 불가. 난이도 하향. 로컬 목록을 사용자가 만들어서 그걸 즐겨찾기 추가 삭제 하는 코드를 만들었음. 기능과 UI가 안습이지만, 그래도. 만들었음.
  • iPhoneProgramming/2012년프로젝트 . . . . 1 match
          * 2차 목표 : Web이나 서버에 연결하는 것과 같은 사용자 내부 요소에서 벗어나 보는 것.
  • iText . . . . 1 match
          RefactorMe [페이지이름]이 부적절하다고 생각하시는 분은 [페이지이름바꾸기]해 주세요. 프로젝트(라이브러리) 이름을 그대로 사용했습니다.
  • jQuery . . . . 1 match
         jQuery를 사용함으로써 일반적이고, 반복되며, 업무량을 증가시키는 불필요한 마크업들을 제거할 수 있고, 이를 통해 작고, 훌륭하며, 이해하기 쉬운 자바스크립트 코드를 작성할 수 있습니다.
  • joosama . . . . 1 match
         위키를 참 역동적으로 사용하네~ -[상협]
  • lostship/MinGW . . . . 1 match
          * STLport iostreams 을 사용하려면 다음 스텝을 진행한다.
  • sibichi . . . . 1 match
          * 일단 무엇보다도 wiki에 적응되어야 본격적으로 활용이 가능할듯. 직접 써보면서 뭐가뭔지 체득을 해야..그래서 일단은 기본 제시된 템플릿사용
  • snowflower/Arkanoid . . . . 1 match
          3. 멀티미디어 타이머의 사용으로 속도를 높였다
  • source . . . . 1 match
         [1~10사이 숫자 출력, 5 제외 (continue 문 사용)]
  • woodpage/쓰레기 . . . . 1 match
          * 이봐~ 다 그렸다.. 너의 홈(보긴 보냐?? ^^;) 자료실에 올려 놓을 터이니 잘 사용하길.. 대체 며칠동안 그걸 부여잡고 있었는지 원.. [[BR]]
  • zennith/SICP . . . . 1 match
          [노스모크모인모인] 에서 절대 주소로 접근할려면 [/SICP] 로 하면 된다. 디렉토리 같지 ^^;; 현재 혼용이니, 네가 일아서 사용해라 --["neocoin"]
  • zeropageBlog . . . . 1 match
          * 자세한 사용법은 [http://www.tattertools.com 태터툴즈 홈페이지]를 이용해 주십시오.
  • ㄷㄷㄷ . . . . 1 match
         두 개의 서로 다른 함수를 사용해서 하도록 했지~
  • ㄷㄷㄷ숙제2 . . . . 1 match
         if문에서 못했던 오류 메세지가 switch문 에서는 default값을 사용해서 쉽게 되더라구요..ㅠㅠ..
  • 가독성 . . . . 1 match
         이 글을 쓰고 저 문제에 대한 이의 제기가 들어올줄 예상은 하고 있었습니다. 그에 따른 제 변명은 이렇습니다. 여러 언어의 특성상 언어마다의 코딩 스타일은 엄연히 존재합니다. C언어의 특성에 따라 하나의 함수는 한 화면에 모두 출력되게 하는 것이 중요합니다. (물론 요즘과 같은 큰 터미널에서는 문제가 되지 않겠습니다만,..) 때문에 코드의 가독성을 높히며 많은 코드들을 짜는 것은 불가분의 관계라고도 할 수 있겠죠.(함수를 붙여쓰면 코드들은 많이 들어가나 가독성이 매우 떨어지죠.) 하지만 C언어에서 저것과 같은 방식의 코드는 코드의 라인만 늘리는 결과를 초래하게 됩니다. 예를 들어 24라인만 쓸 수 있는데 for문과 while문의 갯수가 4개라고 하면 4줄을 낭비하는 꼴이 됩니다. 즉, for문과 while문의 가독성을 위해 전체적인 함수 가독성을 떨어뜨리게 되는 것이죠. (또한 for문과 while문의 {를 아래로 내리는 것과 위로 올리는 것의 차이점은 얼마되지 않습니다.) 제가 강조한 것은 이 전체적인 모듈의 가독성을 뜻한 것입니다. (딴지를 걸자면 80x24 화면에 저러한 코딩 방식을 사용하는 것은 죽음을 자초하는 길일것입니다. 토발즈 또한 강조한 것이기도 하구요. :) ) - 이영호
  • 개인페이지 . . . . 1 match
         ZeroPage 위키의자 이고, ZeroPagers 라면 누구나 가져야 하는 위키내의 자신의 소개 페이지 이다. 개인 페이지에 실리는 정보는 자신의 소개 이외의 사항은 자율적으로 작성하며, 어떻게 사용해도 상관 없다.
  • 객체지향용어한글화토론 . . . . 1 match
          * 우리 어휘를 사용하는 이유는 그 어휘에 내포된 여러가지 의미를 직관적으로 느낄수 있기 때문아닐까??
  • 격언 . . . . 1 match
          MozillaFirefox NightlyBuild 를 사용해서 그랬던것 같네요. 정식릴리즈로 해보니 잘됩니다. - [임인택]
  • 고슴도치의 사진 마을 . . . . 1 match
         || [SVN 사용 방법] ||
  • 고한종/팩토리얼 . . . . 1 match
          * 위키를 열심히 사용하고 있네요~ 바람직합니다 ㅋㅋㅋ 그런데 ZeroWiki에서는 위키 페이지를 생성할때 상위페이지명/하위페이지명 이런 식으로 카테고리처럼 페이지 이름을 만든답니다. 예를 들어 이 페이지라면 고한종/팩토리얼 이렇게 써주는 것이 적절하겠죠. 그리고 각각의 페이지가 고립된 섬이 아니라 다른 페이지들과 연결될 수 있도록 상위페이지 혹은 연관된 다른 페이지를 링크해주면 더더욱 좋답니다. :) 예를들어 이 페이지에는 [고한종] 페이지와 [새싹교실/2011/A+]을 링크할 수 있겠네요. - [김수경]
  • 구구단 . . . . 1 match
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
  • 구구단/유상욱-Scheme . . . . 1 match
         음... 굉장히 괄호 사용이 많은 언어군요... 이런 언어 싫어하는데...ㅠ.ㅠ
  • 권영기/web crawler . . . . 1 match
         Python을 이용해서 Web Crawler를 제작하면서 Python의 사용법을 익히고, 원하는 웹 페이지를 긁기 위한 Web Crawler를 제작한다. (네이버웹툰(돌아온 럭키짱, 신의 탑...), 네이버 캐스트, 그 외의 각종 웹페이지..)
  • 권영기/채팅프로그램 . . . . 1 match
         하지만 join이 없으면 자원이 해제가 되지 않으니 메모리 누수가 생길 겁니다. 그래서 저는 join을 사용하고 싶은데 어떻게 해야할 지를 모르겠네요.
  • 그래픽스세미나/1주차 . . . . 1 match
          * 등 엄청 다양하게 사용된다.
  • 기본데이터베이스/조현태 . . . . 1 match
          선형 리스트로 데이터베이스 구축 -> 자료구조를 배열을 사용하세요~ 로 이해....OTL
  • 기억 . . . . 1 match
          * Miller(1956)는 단기 기억 저장 공간을 7+-2 즉, 5~9로 라고 하여, 이를 magic number 7이라고 한다. 이 원리는 전화 번호나 우리가 알파벳을 외울때 사용된다.
  • 김동준/원맨쇼Report/08김홍기 . . . . 1 match
          *적절한 아이템의 사용
  • 김태진 . . . . 1 match
          * 조기졸업따위 사용하면 안되는 제도입니다. - [김태진]
  • 니젤프림/BuilderPattern . . . . 1 match
         Builder 를 구현한 부분. 일반적으로 다수개의 Concrete Builder 가 존재하며, Builder 가 제공하는 인터페이스를 이용해서 late binding 의 형식으로 사용하게 된다. 물론, builder pattern 에서의 주 관심하는 Product 를 만들어내는 것이다.
  • 다이어리효율적으로사용하는방법 . . . . 1 match
          * 기사 내용중에서 목표를 구체적으로 다이어리에 적으라는 내용이 공감이 감. 개인적으로 놋북이 있는관계로 노트북에 있는 위키를 다이어리로 사용,,
  • 답변 및 의견 1 . . . . 1 match
          * svn 연동해서 사용하기 편하고
  • 덜덜덜 . . . . 1 match
         ▼▼▼▼▼Dev 사용법입니다! 꼭 보세요▼▼▼▼▼
  • 덜덜덜/숙제제출페이지 . . . . 1 match
         위에 이름까지 같이 함께 묶어서 넣고 싶으면 .. 이름은 타입이 다르기때문에 구조체라는것을 써서 같이 묶어서 넣을수 있습니다. 구조체는 나중에 배울겁니다. ^^ 그리고 주석을 사용안하고 변수명으로 의미를 알수 있게 해줄수 있다면 그게 더 좋습니다. 변수명이 조금 길어지더라도 주석 없어도 이해가도록 짜면 좋습니다.(리펙토링에 나오는 얘기..) 예를 들면 국어 성적 변수명은 KoreaScore 혹은 ScoreOfKorea 이런식으로 쓸수 있습니다. - [상협]
  • 데블스캠프2003/첫째날 . . . . 1 match
          * 위키 사용
  • 데블스캠프2004 . . . . 1 match
          * 현재 가장 많이 사용되는 페이지 위주로 [문서구조조정] 했습니다. 더 좋은 의견 있으면 수정하세요. --NeoCoin
  • 데블스캠프2005 . . . . 1 match
         [http://gigamail6.paran.com:8080/gigamail_pop.php?file=/D6/1/20050620/13/09/beonit@paran.com/1119244238_8864_x0.zip&filename=flashmx.zip FlashMX] - [데블스캠프2005/FLASH키워드정리]에서 사용할 플레시 프로그램
  • 데블스캠프2005/Python . . . . 1 match
          * dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴한다.
  • 데블스캠프2005/RUR_PLE/조현태 . . . . 1 match
         파일을 copy/paste하는 과정에서 중간중간에 빈 줄이 생겼는데, 일부 삭제하였으나 남은 것이 있을 경우 지우고 사용해야 합니다.(단 함수와 함수사이는 아닙니다.)
  • 데블스캠프2005/게임만들기/제작과정예제 . . . . 1 match
          블럭을 랜덤하게 호출하는 함수를 만들자. 그리고 그 안에 rand()함수를 사용해서, 임의의 숫자를 얻은후 그 숫자에 맞추어 블럭을 지정하고
  • 데블스캠프2005/월요일 . . . . 1 match
          위키에 대한 소개 (새내기의 대부분이 사용법을 아는걸로 추측...)
  • 데블스캠프2005/월요일후기 . . . . 1 match
          구석진 곳에서 듣는 사람들은 아무래도 집중도가 떨어졌다. 피시실 구조도 한 몫하겠지만, 되도록 뒤쪽 컴퓨터를 사용하지 않도록 권장할 필요가 있다.
  • 데블스캠프2005/주제 . . . . 1 match
         금요일에 제가 한 타임을 맡겠습니다. 네트워크 사용한 간단한 프로그램을 만들 예정입니다. 언어는 파이썬으로 하려합니다. 그러므로 파이썬 배운 후에 몇 개의 토이프로블램은 파이썬으로 연습 시켜주셔야 합니다. --재동
  • 데블스캠프2005/화요일후기 . . . . 1 match
         파이썬이라는 것을 어떻게 사용하는지 그리고 언어?를 조금이라도 더 많이 배웠고..
  • 데블스캠프2006/SSH . . . . 1 match
          * 기타 파일이나 이미지 링크 걸때 사용
  • 데블스캠프2006/월요일 . . . . 1 match
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
  • 데블스캠프2006/참가자 . . . . 1 match
         이번 프로젝트 진행 시작과 함께 SVN, SSH 계정을 발급할 예정입니다. 이때 사용알 계정 ID를 입력해주세요. - [eternalbleu]
  • 데블스캠프2006/화요일후기 . . . . 1 match
         김준석 : dir, mycopy, tar, untar 너무 좋았습니다. 코딩하는게 확실히 재밌기도하고 몸에 익숙해지기도 합니다. 새벽을 새면서 머리가 좀 굳기는 했지만 이해할때까지 붙어서 설명해주셔서 정말 감사합니다. msdn의 사용방법을 어느정도 깨우친것 같아서 얻은것도 많다고 생각합니다
  • 데블스캠프2008/등자사용법 . . . . 1 match
         재미없는 일은 하기 힘들다 재미있게 공부를 하면 좋은 결과를 얻을 수 있다. 따라서 자기가 재미있게 느끼는 부분을 공부하고 그 부분과 연관된 것들을 공부한다던지 같이 공부한다던지 여러 자료를 사용한다던지 해서 재미있게 만들면 즐겁게 공부하면서 좋은 성과를 얻을 수 있다. - FLATSTAR-
  • 데블스캠프2009/금요일/SPECIALSeminar . . . . 1 match
          * Tool을 효율적으로(편리하게) 사용할 수 있는 능력 - 성현
  • 데블스캠프2009/금요일후기 . . . . 1 match
          * '''서민관''' - 참. 무시무시한 수업이었습니다. 여러가지 의미로. 실력도 물론 무시무시하셨지만, 그것보다 우리가 평소 아무렇지 않게 사용하던 사이트들이 그렇게 보안에 취약한지는 처음 알았네요. 아무렇지 않아 보이는 이미지 파일이 쿠키를 뽑아내는 모습은 참 기가 막혔습니다. 덕분에 Javascript의 강력함도 같이 느낄 수 있었네요. 이번 방학에 팀 프로젝트를 하신다고 하던데 되도록이면 같이 참가해서 뭐라도 좀 배워보고 싶습니다.
  • 데블스캠프2009/수요일 . . . . 1 match
         || 김준석 || 객체 지향 프로그래밍(OOP) || OOP에 대한 개요 이해, 추상화에 대한 개념. OOP 기반의 프로그램 설계를 코드가 아닌 글로 새내기와 함께 해본다. || 문법은 잊고 의사코드를 사용한 설계실습을 해보자 ||
  • 데블스캠프2010/넷째날/후기 . . . . 1 match
          * 서버 만들어서 돌리는거 재밌네요. 상당히 흥미로웠습니다. PHP 예제도 타이핑 한것도 재밌었습니다. 다만 DB 쿼리 날리는 것도도 같이 해봐서 그런지 DB 쿼리날리는걸 배운건지 PHP를 배운건지 헷갈려요 ㅋㅋㅋ 또 헷갈리는게 있었는데 HTML태그를 쓰면서 PHP를 사용했는데, 기본적인 태그들이 HTML 태그랑 똑같은건가요? 아니면 Java Script처럼 HTML 안에 들어가는건가요? 헷갈리네요.. - [박성현]
  • 데블스캠프2010/첫째날/오프닝 . . . . 1 match
          1. 위키 사용자 등록 후 로그인한다.
  • 데블스캠프2010/회의록 . . . . 1 match
          * svn을 사용해 프로젝트를 진행한다. -[남상혁] 학우
  • 데블스캠프2011/넷째날/Git/권순의 . . . . 1 match
          // 사용자 입력을 띄어쓰기 단위로 나누고 몇개로
  • 데블스캠프2011/둘째날/Machine-Learning . . . . 1 match
          * SVMLight 사용 실습 http://svmlight.joachims.org/svm_multiclass.html
  • 데블스캠프2011/셋째날/String만들기 . . . . 1 match
          * 사용 언어 : C++
  • 데블스캠프2011/첫째날/오프닝 . . . . 1 match
          1. 위키 사용자 등록 후 로그인한다.
  • 데블스캠프2012/다섯째날/후기 . . . . 1 match
          * [권순의] - C++의 개념을 C에서 어떻게 적용하는지, 컴파일러가 어떻게 돌아가는지에 대해서 생각해 볼 수 있는 시간이었습니다. 재미지네요. 단계적으로 나아가는 방법이 재미있었습니다. 설명도 자세하게 해 주시고 유익한 시간이었습니다. 그러다 보니 왜 우리가 어떤 것을 사용했을 때 느리다던지 한 것에 대해서 보다 쉽게 이해할 수 있는 시간이 아니었나 합니다.
  • 레밍즈프로젝트 . . . . 1 match
         = 사용도구 =
  • 레밍즈프로젝트/그리기DC . . . . 1 match
         [레밍즈프로젝트]에서 사용하게 될 그리기 클래스.
  • 레밍즈프로젝트/프로토타입/STLLIST . . . . 1 match
         || CList 사용 || [http://blog.naver.com/ryudk01.do?Redirect=Log&logNo=120007965930] ||
  • 레밍즈프로젝트/프로토타입/에니메이션버튼 . . . . 1 match
         윈도우 컨트롤 중에 에니메이터 컨트롤이 있다고 함. -_- 그 녀석을 사용하면 해결 할 수 있을듯. 바로 밑에 있군-_- -이승한
  • 레밍즈프로젝트/프로토타입/파일스트림 . . . . 1 match
         기본적인 Read() 함수도 사용할 것 같다.
  • 로고캐릭터공모 . . . . 1 match
          제로페이지에서는 홈페이지 개편과 더불어 대외적인 홍보 활동 및 각종 행사에 사용할 공식적인 로고와 캐릭터를 공모하고 있습니다. 본 공모에 작품이 채택되신 분께는 작은 상금도 준비되어 있습니다. 여러분의 많은 참여 부탁드립니다.
  • 로그인하기 . . . . 1 match
         UserPreferences 페이지에서 이름과 패스워드를 적고 Profile 만들기 버튼을 누른다. ChangeYourCss 페이지나 CssMarket 에서 개인 취향에 맞는 스타일 시트를 등록해서 사용하면 더 좋다.
  • 리디아처음화면 . . . . 1 match
         처음 사용해 보는 wiki네요.. 우하하. ^^
  • 마름모출력 . . . . 1 match
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
  • 만년달력 . . . . 1 match
         ||이름|| 사용언어 || 링크||
  • 만년달력/곽세환,조재화 . . . . 1 match
         함수를 하나더 사용. 코드이해를 증가시키기위해서...
  • 만세삼창VS디아더스1차전 . . . . 1 match
          바보 언어 에 있든 없든 먼상관이냐. 혹시 니 언 는 사용자 정의 타입이 없는거 아니냐 후진 것 같으니라고
  • 멘티스 . . . . 1 match
         == 사용설명 ==
  • 몸짱프로젝트/DisplayPumutation . . . . 1 match
          * Recursive Function Call 사용
  • 몸짱프로젝트/HanoiProblem . . . . 1 match
          * Recusive Function Call 사용
  • 몸짱프로젝트/Maze . . . . 1 match
          * 스택 사용
  • 무엇을공부할것인가 . . . . 1 match
         전산학을, 프로그래밍을 공부하는 사람이라면, 만약 내가 지금 배우는 대부분의 지식과 기술들이 내가 졸업을 하고 회사에 입사를 할 약 4년(혹은 병역을 마치는 경우 6년) 후에 쓸모없어 진다면 어떨까 하고 생각을 해 볼 수 있겠죠. 오늘 내가 밤샘을 하고 고민을 하면서 내가 사용하는 특정 도구의 한계를 우회하기 위해 기발한 방법을 짜내면서 얻는 지식은 4년 혹은 6년 후에 어떤 가치가 있을까요? 그 노력에 비해 얼마나 가치가 있을까요? 만약 그런 과정을 통해 어떤 지혜를 얻을 수 있다면, 좀 더 효과적이고 경제적인 방법은 없을까요?
  • 문자반대출력/변형진 . . . . 1 match
         preg_split()는 문자열 처리 능력이 탁월한 언어인 Perl에서 사용하는 Perl 호환 정규 표현식(Regular Expressions)을 차용하여 문자열을 분리하여 배열에 담는 함수.
  • 문자반대출력/임인택2 . . . . 1 match
         아직 J 에서 함수부분까지 못봤다. 문제의 조건을 전부 만족하지는 못함. built-in 으로 제공되는 녀석을 사용해서 내가 짠거라고 하기에는 좀..--;
  • 문제은행 . . . . 1 match
         컴퓨터 프로그래밍에 흥미를 느낄수 있게 여러가지 재미있는 문제들을 내보고 서로 풀어보았으면 좋겠다는 취지에서, 그리고... 새내기들을 대상으로하는 여러 이벤트에도 사용되길 바라며 페이지를 만들었습니다. - 임인택
  • 문제풀이게시판 . . . . 1 match
         문제풀이도우미시장에는 자신이 사용할 수 있는 빈 시간대를 기록한다. 예컨대, 이번 주 금요일 오후 3시에서 7시까지 시간이 빈다면 도우미시장에 자신의 이름과 메신저 등의 연락처와 함께 가능시간대를 기록해 둔다. 또, 도우미를 요청하는 사람 역시 같은 방식으로 자신이 원하는 시간대를 적어둔다. 그러면 짝이 맞는 사람끼리 PP를 하고, 해당 항목을 지운다.
  • 바퀴벌레에게생명을 . . . . 1 match
         == 프로그램 사용법 ==
  • 반복문자열 . . . . 1 match
          * for 루프를 사용.
  • 방울뱀스터디/Thread . . . . 1 match
         쓰레드를 사용하려면 : 쓰레드로 처리할 부분을 함수로 만들어주고 start_new_thread()로 그 함수로 호출하면 됩니다.
  • 방학중PC실이용토론 . . . . 1 match
         방학이 한 달 남았네요. 각종 스터디나 프로젝트를 잘 진행하고 계시나요? PC실 사용이 불편해졌는데, 그래도 PC실을 이용하시는 분들은 어떻게 불편을 극복하셨나요? --[Leonardong]
  • 별표출력/하나조 . . . . 1 match
         힌트:중첩 for문 사용.
  • 병역문제어떻게해결할것인가 . . . . 1 match
          * 2016년 이후 재배정 TO에 한하여 대학생도 사용가능하도록 하여 일부 인원들은 TO를 받을 수 있게 되었으나, 수요에 비하면 재배정 TO는 굉장히 적은 상황입니다.
  • 분류분류 . . . . 1 match
          * 이 위키에서 사용되는 분류페이지들의 시작점(Starting Point).
  • 비행기게임 . . . . 1 match
          * 파이썬 디버그 사용 방법
  • 비행기게임/진행상황 . . . . 1 match
          * 7.8 ~ 7.9 : pygame 라이브러리 사용하니깐 만들기가 상당히 편한거 같다. 대충 비행기 움직이게 만들었다.
  • 빵페이지/구구단 . . . . 1 match
          재귀함수인가? 한번 사용해 봤습니다 ㅎㅎ
  • 빵페이지/마방진 . . . . 1 match
          * 쿠쿠 멋진놈 벌써 하다니...배열을 사용했군 - 승균
  • 삼총사CppStudy/20030731 . . . . 1 match
          * 기본적인 클래스의 사용방법
  • 상협/Medusa . . . . 1 match
          * Python으로 서버를 돌릴때 사용하면 괜찮을듯 싶다.
  • 상협/프로젝트관련 . . . . 1 match
          * 만약 짜본다면 내가 제일 좋아 하는 AI 오목을 Java로 TDD를 사용해서 한번 다시 짜볼까 한다. 인공지능을 사람이 못이기게 무진장 향상 시켜서.. +_+
  • 새싹C스터디2005 . . . . 1 match
         기존회원 분들께서는 이 때 만들어진 신입생들의 소스를 모아주세요. 시험 끝난 후 리펙토링 세미나에서 예제로 사용할 겁니다. --재동
  • 새싹C스터디2005/선생님페이지 . . . . 1 match
          * [Leonardong]의 빠른코딩을 위해서 의식적으로 마우스를 사용하지 않는 습관을 기르는 것도 참 좋겠다고 생각합니다.
  • 새싹교실/2011/GGT . . . . 1 match
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
  • 새싹교실/2011/GGT/L1&L2 . . . . 1 match
          * 위키 사용법을 먼저 알려줬어야했는데 하지 못했다.
  • 새싹교실/2011/Pixar/4월 . . . . 1 match
         오늘은 변수종류에대해서 배웠다 local,global,static등에 대해배웠고, 반복문을 사용하여달력도 만들어보았고, 함수에 대해서도 배웠다.
  • 새싹교실/2011/學高 . . . . 1 match
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
  • 새싹교실/2011/學高/3회차 . . . . 1 match
          /*사용자 공격*/
  • 새싹교실/2011/學高/4회차 . . . . 1 match
          * printf 사용
  • 새싹교실/2011/學高/8회차 . . . . 1 match
          * declaration과 사용
  • 새싹교실/2011/무전취식/레벨1 . . . . 1 match
          * VS2008이란 것을 처음으로 사용해보았습니다. 처음 새싹수업에서는 어려운 점을 많이 느껴서(긴장을 좀 한 탓도 있어요ㅋㅋ) 그날 배웠던 것을 잊어먹지 않기 위해 계속 해서 성공할 때까지 실습을 했습니다. 하나 하나씩 성공을 하고 나니 뿌듯함도 느끼고 자신감도 생기는것 같아서 기분이 좋습니다. C프로그래밍 시간에 졸았던게 많이 후회가 됩니다ㅋ 대학교와서 노는 시간이 많이 늘긴 했지만 초심을 잃지 말아야 겠어요ㅋ. 앞으로는 수업한 내용들을 가능하면 당일날 복습을 해둬야 할 것 같습니다. 새싹교실 들기를 정말 잘 한 것 같아요~! -[서원태]
  • 새싹교실/2011/무전취식/레벨10 . . . . 1 match
          * strlen()함수의 사용에 대해 알아봤죠
  • 새싹교실/2011/무전취식/레벨2 . . . . 1 match
          * 변수는 이름이 두개다! 하나. 사용자가 지정해주는 변수명. 둘. &변수명 을 하면 나오는 주소값.
  • 새싹교실/2011/무전취식/레벨3 . . . . 1 match
          * 변수는 이름이 두개다! 하나. 사용자가 지정해주는 변수명. 둘. &변수명 을 하면 나오는 주소값.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 1 match
         프로그램은 여러 데이터를 가지고 사용자가 원하는 일을 수행하는 것입니다.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.4.6 . . . . 1 match
          * '고바기'라는 변수 이름이 돋보인다 ㅋㅋㅋ bit연산자인 XOR연산자(^)를 사용해서 조건판단을 한 것도 독특하다 ㅋㅋ 잘했음! ㅋㅋ - [박성현]
  • 새싹교실/2011/씨언어발전/3회차 . . . . 1 match
         for, while 등에 대한 사용
  • 새싹교실/2012/ABC반 . . . . 1 match
         2. VS2010사용방법
  • 새싹교실/2012/Dazed&Confused . . . . 1 match
          * 함수, 재귀함수, 배열, 메모리 주소, 포인터 등을 복습하였다. 지난 주에 이해되지 않았던 부분에 대해서 상세히 설명해 주셔서 좋았다. 직접 피보나치 수열을 작성해 보면서 재귀함수의 사용을 익힐 수 있어 좋았다. - [김민재]
  • 새싹교실/2012/부부동반 . . . . 1 match
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
  • 새싹교실/2012/사과나무/과제방 . . . . 1 match
          * 최소한 사용법 정도는 있어야 인정.
  • 새싹교실/2012/새싹교실강사교육/2주차 . . . . 1 match
         -과제 확인, 프로젝트 생성, GCC사용법, 컴파일, main함수, 변수, Data Type, 연산자, 입출력 기본 함수, 제어문 -
  • 새싹교실/2012/새싹교실강사교육/4주차 . . . . 1 match
         1.1 프로그램의 실행 파일에는 크기의 제약이 있기 때문에 프로그램이 가지고자 하는 모든 데이터를 가질 수 없습니다. 그래서 큰 정보는 외부의 파일에 두고, 실행 중에 파일을 읽어서 사용하는 방법을 흔히 쓰게 됩니다. 예를 들어 게임 프로그램에는 BGM, 효과음, 사진, 그림, 동영상 등의 파일을 읽어서 출력하게 됩니다.
  • 새싹교실/2012/설명회 . . . . 1 match
          * 선생님 지원자가 정말 많으네요. 사실 너무 많은게 아닐까 싶은 생각도 조금 듭니다. 만약 새싹교실을 성실히 진행한 반에 지원한다거나, 위키 사용을 잘 하고 있는지 한번씩 체크해보고 싶다거나, 모든 반이 함께 모여 공동의 활동을 진행하려 할때 약간 버거울수도 있지 않을까 걱정되는 면이 있어요. 반편성이나 회장님께서 각 반 선생님들께 공지해야 할 일이 있을때도 좀 힘들지 않을까 싶어 걱정이네요ㅜㅜ
  • 새싹교실/2012/아무거나 . . . . 1 match
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
  • 새싹교실/2012/아무거나/2회차 . . . . 1 match
          * 공백을 출력하는 반복문과 *을 출력하는 반복문 2개를 사용하여 한 줄을 만든다.
  • 새싹교실/2012/아우토반/앞반/3.29 . . . . 1 match
         앞부분 반복문, 조건문 등 소스는 이해되지만 프로그램을짤때에는 잘 못짜고, 실전에서 사용하는것이 소스를 보는것보다 직접짜는것이 매우 미숙하다고 느껴졌습니다. 그래서 진도만이 아닌 알더라도 앞에서 확실히 기초를 다지고 새로운것을 배웠으면 좋겠습니다.ㅜㅠㅠ..-[안혜진]
  • 새싹교실/2012/아우토반/앞반/4.12 . . . . 1 match
         continue의 정확한 사용법과 switch case에서 'p'와 같은 식으로 받아주게 했을 경우에 인식을 하는지 정확히 모르겠네요.
  • 새싹교실/2012/열반 . . . . 1 match
          * 함수의 사용법과 if,else if, else문의 차이를 배웠습니다. [권우성]
  • 새싹교실/2012/절반/중간고사후 . . . . 1 match
         함수 사용
  • 새싹교실/2013/라이히스아우토반/6회차 . . . . 1 match
         오늘은 switch에 대한 자세한 복습을 했습니다. 그리고 그 switch 를 if랑 else if 를 사용하여 바꿔보았습니다.
  • 새싹교실/2013/라이히스아우토반/7회차 . . . . 1 match
          * 사용하는 방법 ex) {{{arr[3]}}}; {{{arr[i]}}};
  • 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 1 match
         - 진도: 메모리 구조(미약하게), printf와 scanf 정말 간단하게 다음시간에 더 자세하게 쓰임새 알려주어야 할뜻 , 제어문 간단한 사용법과 필요성
  • 새싹스터디2007/영동 . . . . 1 match
          * 포인터 기초적인 부분.(선언 및 사용/값에 의한 전달과 포인터에 의한 전달)
  • 새페이지만들기 . . . . 1 match
         '''방법2''' 의 방식은 일종의 TopDown 방식이 된다. 해당 주제를 Parent로 하여 계속 주제와 연관된 글들을 뻗어나가는 방식이다. 반면 '''방법 1'''전자의 방법은 BottomUp의 방식으로 사용할 수 있다. 새 주제들을 모아서 나중에 페이지분류 & 조정작업을 통해 Parent를 잡을 수 있을 것이다.
  • 서버구조 . . . . 1 match
         usr - 사용자가 정의하는 프로그램 저장
  • 서지혜/단어장 . . . . 1 match
          (Nobody can beat it의 수동태, beaten은 beat으로도 사용된다.)
  • 설득의심리학 . . . . 1 match
          * 호감의 법칙을 사용한 집단간의 갈등 극복
  • 세미나/2004 . . . . 1 match
         || 7 || 휘동 || [Debugging] || 간단한 디버거 사용 시연, 디버깅에 대해 이야기 나누기||
  • 소프트웨어장인정신 . . . . 1 match
         소프트웨어를 개발하는데 장인정신이라는 비유를 사용한다. 프로세스와 프로세스 산출물에 초점을 맞추는 소프트웨어 엔지니어링은 규모가 작은 프로젝트에는 좋은 선택이 아니다. 평범한 소프트웨어 개발자 여럿을 두고 이를 관리하기보다 장인 소프트웨어를 개발자 한 명을 고용하는 편이 속도나 품질 모두에서 낫다. 따라서 전통적인 수공업에서 나타나는 도제생활이 초보 프로그래머에게는 필요하다. 프로그래머는 도제를 거쳐 중간 장인으로, 결국에는 장인으로 성장하게 된다.
  • 손동일 . . . . 1 match
          자주 이용 할테니.. 페이지 사용할 수 있게 해주세요~^^
  • 수학의정석 . . . . 1 match
         P.S : 출제자가 GCC만을 사용하는 관계로 그래프등의 문제는 나오지 않을것이다.
  • 수학의정석/집합의연산/조현태 . . . . 1 match
          음.. 저번 것과 마찬가지로 입력받는 부분은 시간계산에 포함하지 않는다. (사용자의 입력시간이 결정하기 때문.)
  • 숫자야구/강희경 . . . . 1 match
          cout << " 사용자는 그 숫자를 맞추는 것입니다." << endl;
  • 숫자야구/손동일 . . . . 1 match
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
  • 숫자야구/조재화 . . . . 1 match
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
  • 쉽게Rpg게임만들기 . . . . 1 match
          * 쉽게 RPG 게임 만들기 라고 해서 RPG 쯔꾸르 깔고 사용하는 법만 간단히 설명하는 건가 했는데 Ruby 얘기도 나오고 해시 얘기도 나오고 슈퍼 클래스 얘기도 나와서 놀람… - [김수경]
  • 스터디그룹패턴언어 . . . . 1 match
         우리는 평생 배워야한다. 학습하고 자라기 위해서 우리는 수업을 듣고 선생에게 상담을 받으며 기사와 책을 읽거나 동료와 친구들로 부터 도움을 구한다. 우리가 사용 가능한 많은 학습 방법 중에 가장 훌륭한 것들 중 하나가 스터디 그룹이다.
  • 실시간멀티플레이어게임프로젝트/첫주차소스3 . . . . 1 match
         game.py 사용
  • 아잉블러그 . . . . 1 match
         서버를 구축하고 관리하고 다양한 웹 프로그램을 사용해 보는 프로젝트.
  • 여사모 . . . . 1 match
          int * a = new int[b]; // 이와 같은 경우에는 원하는 값을 할당받아 사용하므로 올바르게 실행된다. */
  • 여사모/과제/패턴인식 . . . . 1 match
         사용자로부터 하나의 문자열을 입력받아 기존 문자열에 입력받은 문자열이 있는지 여부를 알려주는 함수를 만들어 보세요.
  • 여섯색깔모자 . . . . 1 match
         Blue - 파랑은 냉철합니다. 또 모든 만물의 위에 있는 하늘의 색깔이기도 하죠. 따라서 파란 모자는 생각하는 순서를 조직하는 일, 그리고 다른 모자들의 사용을 통제하는 일과 관련이 있습니다.
  • 영어단어끝말잇기 . . . . 1 match
          - 재밌어보이기는 한데, [문두삽입방식]을 사용해야 할 것 같고, 페이지가 길어지면 내용정리가 필요할듯.. - [임인택]
  • 영어와친해지기 . . . . 1 match
         원래는 제목을 {{{~cpp EnglishDoesNotFrightenYou}}}로 하려고 했는데, 이걸 제목으로 사용하면 '영어가 쉽다'는 주제를 가진 페이지로 오해를 살것 같아 [영어와친해지기]로 정했습니다.
  • 오픈소스검색엔진Lucene활용 . . . . 1 match
          * 쿼리에 별표를 붙이는 이유는 한글은 저기서 사용하는 분석기는 빈 공간을 중심으로 토큰을 나눈다. 한글도 빈 공간을 중심으로 나누는데 우리가 검색 하고자 하는 중요한 것들을 거의 대부분 앞 글자에 나온다. 그렇다고 그 글자만 치면 검색이 안된다. 하지만 "*"( 검색에서 모든 문자를 의미하는것) 를 뒤에 붙이면 해당 단어 뒤에 어떠한 단어든 붙어 있는 절들이 검색이 될 수 있다. 현재까지는 이러한 방법으로 문제 생기는 것은 없었음.
  • 요정 . . . . 1 match
         모두 서로 다른 취향을 갖고 있어 멋내기를 즐기는 듯 하다. 숲속에 사는 정령들은 숲에서 얻을 수 있는 소재를 사용해서 능숙하게 옷을 만들어 입고 인간의 주위에 사는 요정들은 인간에게 빌린 물건으로 꾸려 나가는 경우도 있는 듯 하다.
  • 위시리스트 . . . . 1 match
          * 정기적으로 결제해야 하는 상품이 아닌, 1회 결제로 사용할 수 있는 상품이어야 합니다.
  • 위키개발2006 . . . . 1 match
          * 사이트내 실시간 채팅 매크로 추가. 아래와 같은 매크로 사용시에 실시간 채팅 매크로가 추가 된다. 직접 구현은 안했고, gabbly 거 이용함.
  • 위키기본css단장 . . . . 1 match
          * FireFox 에서 기본스킨을 적용시킨 제로위키는 RecentChanges 에서 페이지 이름이 너무 작게 나와요. -ㅅ- 누가 CSS 좀 수정해주셨으면 하는데.. ZeroPagers 들 중에서 FireFix 를 자주 사용하는 사람들이 많거든요 [1002]형이나 [임인택]이나... - [임인택]
  • 위키를 써보고 싶고나처음화면 . . . . 1 match
         * 제로 위키에서 사용을 해본다.
  • 위키메뉴얼 . . . . 1 match
         사용법 대부분이 완성되었습니다. 일정이 빡세서 원래 목표했던 기일에는 맞추지 못했지만 끝이 보이기 시작합니다.
  • 위키분류 . . . . 1 match
         위키위키 사용법, 위키위키 철학등에 관련한 페이지들.
  • 이병윤 . . . . 1 match
          - 사용 언어 : Python
  • 이상태 . . . . 1 match
          * 위키사용법 , 비쥬얼스튜디오가 이런거구나~ / 3.16
  • 이승한/.vimrc . . . . 1 match
         set scs "똑똑한 대소문자 구별기능 사용
  • 이승한/mysql . . . . 1 match
          * PHP 에서 지원하는 MySql API 함수를 사용
  • 이승한/질문 . . . . 1 match
         아마 승한이가 원하는 답은 아니겠지만 한번 적어본다. 지금 함수에 전달하는 것은 인트형의 포인터이기 때문에 함수는 지금 받은 것이 숫자인지 배열인지 알 수 가 없지. 게다가 주소를 참조하게 되서 함수 안에서 그 값을 변경해주면 원본 값도 변하게 되고. 그래서 나는 함수 안에 멤버 변수를 만들어서 전달 값을 복사해서 쓰거든. 보통 전달인수를 받을 때 컴파일러에서 그 원본 값을 쓰지 않고 복사값을 사용하는 건 알지? 그 작업을 프로그래머가 해주는 것이지. 밑은 여태 말한대로 구현하고 간단하게 테스트한 소스야.
  • 이영호/My라이브러리 . . . . 1 match
         // Bind 에러에서도 서버를 재가동 할 경우 resueaddr 로 flag를 설정했기 때문에, Port 에러 뿐임. 이미 Port를 사용할 때만 에러가 남.
  • 이영호/미니프로젝트#1 . . . . 1 match
         (2일에 한번씩 컴퓨터를 사용하므로...)
  • 이영호/숫자를한글로바꾸기 . . . . 1 match
         재사용은 가능하지만 수정 불가능 코드로 스스로 선언하겠음. 키키.
  • 이영호/잡다 . . . . 1 match
         여기서 재 사용할 수 없는 에너지인 열을 가지고 가상적인 실험을 해봤다. 덕분에 잠을 설쳤지만 말이다.
  • 이정화 . . . . 1 match
          사용법..터득...ㅎㅎㅎㅎㅎㅎ 대순이..이름쓰는거 까먹음..
  • 이차함수그리기 . . . . 1 match
          * 함수 값을 저장하기 위해 일차원 배열을 사용한다.
  • 임다찬 . . . . 1 match
         나중에 [JollyJumpers] - dynamic programming 사용하나요???
  • 재미있게공부하기 . . . . 1 match
         '''여러 자료 사용하기'''
  • 전문가의명암 . . . . 1 match
         전문가는 한가지를 오랜 기간동안 해왔다. 그래서 그 작업이 몸에 배어 있다. 그의 근육과 신경, 관절이 기억하고 있는 것이다. 덕분에 자신의 뇌력은 거의 사용하지 않는다. 그래서 해당 작업을 하면서도 딴 짓을 자유롭게 할 수 있고, 작업 중 예외상황이 생겨도 여유롭게 대처할 수 있다.
  • 정규표현식/소프트웨어 . . . . 1 match
          * 정규표현식을 지원하는 소프트웨어와 간단한 사용법을 정리 한다.
  • 정모/2002.5.2 . . . . 1 match
         하지만 새로 사용하게된 위키가 기존의 컬럼 게시판이 하던 일을 더 멋지게 해내고 있습니다.
  • 정모/2002.9.12 . . . . 1 match
          ====>> 파일 서버로의 사용을 자제(외부에서의 로딩을 자제). FTP 막음. SSH2 로만 접근 가능.
  • 정모/2003.11.17 . . . . 1 match
         ||세미나 뒷풀이 사용|| 아마 다 썼음||-7만||
  • 정모/2004.10.5 . . . . 1 match
          * P2P 캐스트 - 윈엠프 방송같은 기존 BroadCast 방식에서 P2P방식으로 바꾸어 사용자가 몇 명이 몰리든 상관없이 원활히 동작
  • 정모/2004.5.21 . . . . 1 match
          과거에 대학원에 이야기해서 대학원실을 빌려서 사용했습니다. --NeoCoin
  • 정모/2004.5.7 . . . . 1 match
          - 위키를 자주 사용하자 (관심 부족)
  • 정모/2005.1.3 . . . . 1 match
          * [신재동] 형의 위키사용 압박. ''위키 한 줄 이상 안쓰면 다음 정모때 자기 돈 내고 밥 먹어!!''
  • 정모/2005.12.15 . . . . 1 match
          - 그거 좋은 아이디어이네요. . 제로페이지 전용 사물함을 개방하여 필요한 사람이 쓸 수있도록 사용하는 것도 괜찮을 것 같네요 ^^ 계획을 잘해서 실행해볼까요? 다음주 회의안에 올리도록 합시다. - [허아영]
  • 정모/2005.4.25 . . . . 1 match
          └ 이중에서 62만원 사용가능 ( ex: 회식릴레이시작? )
  • 정모/2005.6.27 . . . . 1 match
         '' 그거 말하면 쓸수 있을껄. 우리때는 정모를 7피 세미나실에서 했었거든. 그거 프로젝터도 사용하면서. ''
  • 정모/2006.1.12 . . . . 1 match
         보여주기 준비해 주세요. 프로젝트 사용 할겁니다^^
  • 정모/2006.12.16 . . . . 1 match
          * 상협 - 기수를 어디에 사용할 것인지 먼저 명확히 해야 할 것 같다.
  • 정모/2007.1.19 . . . . 1 match
          * 사이트 왼쪽 메뉴중에 잘 사용하지 않는 서버 게시판 등등을 삭제.
  • 정모/2007.3.6 . . . . 1 match
         세 번째 발표자 : 조현태 -> 프로젝트, 놀기, 알바(가장 많은 시간을 할애) => 방학을 주로 돈을 버는데 사용함.
  • 정모/2011.4.4/CodeRace/김수경 . . . . 1 match
          * 사용 언어는 [RubyLanguage]
  • 정모/2011.5.9 . . . . 1 match
         == 캡스톤 설계실 사용 안내 ==
  • 정모/2012.1.13 . . . . 1 match
          * 기승전와이브로 OMS 잘들었습니다. 지금 LTE 사용하는 건 여러모로 호갱이 아닐까싶네요. 그나저나 와이브로 쓴지도 꽤 오래됐는데 사실 무의식중에 아직도 수도권에서만 될거라고 생각하고 살고있었어요. 그러고보니 그럴리가 없잖아... 몇년이 지났는데.... - [김수경]
  • 정모/2012.10.15 . . . . 1 match
          * 칠판은 사용한 후 지워주고, 마커는 칠판 옆(주변)에 둡시다.
  • 정모/2012.10.8 . . . . 1 match
          * 작은자바 - DB와 연동 (JDBC 사용)
  • 정모/2012.12.3 . . . . 1 match
          * 충분한 지원금이 사용될 예정입니다.(일반 MT 비용으로 럭셔리 엠티가..!?)
  • 정모/2012.3.12 . . . . 1 match
          * Java generics에 대한 내용이 다 이해가 가는 내용임에도 불구하고 내가 설명하면 저렇게 설명 못하겠다는 생각이 들었습니다. 왜 그럴까 생각해봤습니다. 처음에는 '하나를 설명하기 위해선 열 가지쯤 더 알고 있어야하는데 그 열 가지를 몰라서.'가 아닐까 했는데 사실 그보다는 평소에 제가 Java generics를 제대로 사용하고 있지 않아서 그런게 아닌가 싶습니다.
  • 정모/2012.7.18 . . . . 1 match
          * 수요일 : callback 함수의 개념과 Javascript의 Event Handler 사용. 표준이 제정되지 않은 상황에서 Cross Browsing은 힘들다.
  • 정모/2012.8.8 . . . . 1 match
          * Spring - Secure...를 사용하지말자.??
  • 정모/2013.1.22 . . . . 1 match
          * 도메인,호스팅,스티커 등에 사용된후 차기 회장 김민재 학우에게 인계될 예정
  • 정모/2013.3.18 . . . . 1 match
          * Q : 정확한 사용자의 수요는 고려하셨는지? A : 그래서 협소하게 갑니다.
  • 제로스 . . . . 1 match
          * 현재 프로젝트의 방향은 정하지 않은 것으로 보이니까 공룡책으로 이론 공부를 하고 Nachos라는 교육용 OS 프로그램 분석을 병행하면서 여기서 얻은 지식으로 OS를 만드는 접근 방법을 사용하는 것이 어떨까 하는데 다들 의견이 어떠신지 궁금? -- 이론 : Operating System Concepts -- 실습 : Nachos - [진석]
  • 조금더빠른형변환사용 . . . . 1 match
         // 인라인 어셈 사용.
  • 조동영/이야기 . . . . 1 match
          생각을 잘못해서 문제점이 많았다. (배열사용)
  • 조영준 . . . . 1 match
          * [http://steamcommunity.com/id/skywavetm 스팀 사용자]입니다.
  • 조현태/놀이/미스틱아츠 . . . . 1 match
          || 2005.04.14 || 네모네모 로직 푸는 프로그램 완성~~>ㅁ<;; 너무 힘들었..ㅎㅎㅎ(for와 if만 사용한;;) || [조현태] ||
  • 조현태/놀이/지뢰파인더 . . . . 1 match
          계획 전면 수정. 알고리즘 및 소스 재작성 돌입. 과거 단순 "로봇을 이용해서 마호로매틱 쵸비츠..는 아니고 어쨋든 멋지게 만들어 보자!" 에서 "로봇만 이용하는건 넘흐 어려벙~ 다른걸 섞어봐야겠어~!" 로 변경. 사용하기가 편하고 검색속도가 빠른 기존의 방법과 정확도가 높은 로봇을 밀가루와 팥이만나 붕어빵이 되듯.. 잘 섞어보기로 결정했다. 새로 모든소스를 작성하고 기존 소스의 심각한 문제점이었던, 어설픈 분할과 최악의 테스트 조건(윈도우 지뢰찾기는 실행해서 어떤 맵이 나올지 모른다. 또한 테스트 시간이 길고 준비가 필요하다)을 극복하기 위해서 수정을 가했다. 좀더 체계화된 분할로 좀더 보기편하고 소스에 간지가 흐르도록 하였으며, 테스트 주도개발의 내용에서 눈꼽의 반만큼을 이용, 편리한 테스트 환경을 만들었다. (나름대로 진보환 환경과 소스!) 가슴은 아팠지만 재앙보다야 나을거라고 생각한다. 그리고 로봇..그 부분은 아직 경험이 없어서(데블스 캠프에 만들어 본게 다..)그런지 조금 빡세다. 뭐 그래도 한번 실패도 했으니, 더 쉽게 만들어 질 것이라고 생각하고 만들기로 결정했다. - 2005.08.13
  • 조현태/놀이/채팅서버 . . . . 1 match
          현재, 당시 사용했던 파이썬으로 만들어진 클라이언트로 1인이 접속, 대화 할 수 있다.
  • 중위수구하기 . . . . 1 match
          (output 예를 사용하여 변수테이블 작성.)
  • 지금그때2003/ToDo . . . . 1 match
          NeoCoin 군은 페이지 보는대로 외부 링크로 사용하시길.
  • 지금그때2003/선전문 . . . . 1 match
         위키를 사용하시기 어려운 분들은, 이 글의 리플로 달아주세요.
  • 지금그때2004/토론20040331 . . . . 1 match
          * 이전 홍보문 재사용에 대해 - [지금그때2003/선전문] 참고 & 홍보문 보완. 홍보문 올리기전 사람들에게 피드백받기.
  • 지금그때2004/토론20040401 . . . . 1 match
          * 강의실 : 4152로 변경. 앞 시간 수업으로 7:00(or 6:50)부터 사용 가능.
  • 지금그때2004/회고 . . . . 1 match
          * 참고 : 일반매직을 사용해서 전지에 글씨를 쓰면 책상에 자국이 남습니다. 보드마카를 이용해서 했더니 괜찮더군요. 리허설할때 사소한 것도 한번 해보고 넘어가는게 좋겠어요 (상민형 미리좀 알려주셨으면 얼마나 좋아요...)
  • 지금그때2006/세부사항 . . . . 1 match
          주제 - 이전의 주제를 그대로 사용하되, 필요한 것은 추가한다.
  • 창섭/Arcanoid . . . . 1 match
         || 11월 12일 || 새벽에 완성. 추가기능-바 늘어나기, 공 달라붙기 OnTimer 사용. ||
  • 책분류Template . . . . 1 match
         사용법은 NoSmok:ISBNMacro 를 참고하세요.
  • 최대공약수/남도연 . . . . 1 match
          지금이야 상관없지만 다른 소스에서도 콘솔화면 입출력을 사용하고, 저런식으로 입출력해야 한다는 보장이 없자넝.ㅎ
  • 최대공약수/조현태 . . . . 1 match
          사용하려다 왠지 함수를 잘못 나눈듯한 느낌에 뒤늦게 수정..;;
  • 최대공약수/허아영 . . . . 1 match
          y2 = y; //y값을 y2를 이용해 사용.
  • 최소정수의합/송지훈 . . . . 1 match
         Haskell에서 굳이 반복이란 개념을 사용하지 않아도 되잖아요?ㅋㅋ [최소정수의합/임인택2] 도 한 번 보세요.
  • 컴퓨터공부지도 . . . . 1 match
          * 내 생각엔 일단.. : 윈도우 컨트롤(VC 등의 리소스 편집기에서 제공 되는 모든 컨트롤들) 을 다루는 법을 완전히 습득 하자. 리스트 컨트롤, 트리 컨트롤, 탭 컨트롤 등의 모든 컨트롤을 자유자재로 원하는 모양(비트맵) 으로 바꿔서 사용할 수 있을때 까지 하자. 완전히 습득하면 어떤 프로그램이든 50% 이상 개발 기간이 단축될 것이다. -- ["김정욱"]
  • 코드레이스출동/후기 . . . . 1 match
          * SVN 사용에 매우 미숙했다. 또한 리눅스를 너무 몰랐다. 간단한 쉘 스크립트 작성하는데도 헤맸다. 수차례 도움을 요청했지만 불평 한번 없이 웃으며 도와주신 자봉님께 감사드립니다!
  • 타도코코아CppStudy . . . . 1 match
          * Visual C++의 Debug 사용법을 알고싶어요^^ --[선희]
  • 타도코코아CppStudy/0724 . . . . 1 match
         || 파스칼의 삼각형 || [수진] || Upload:pascal_sujin.cpp || 헉.. 줄까지 맞추다니 멋져요.^^ 함수 분리도 꽤 잘한거 같고.. 무엇보다 다른 개념(조합)을 사용했네요. 여태까지 한 사람들은 거의 다 위에꺼 더해서 했거든요. 하지만 로직과 보여주는게 분리가 안되어 있네요. 이따 저와 함께 고쳐 봅시다. ||
  • 토이/메일주소셀렉터 . . . . 1 match
         ||이름|| 사용언어 || 링크||완료||
  • 토이/삼각형만들기 . . . . 1 match
         사용자의 입력에 따라 다음과 같은 모양을 콘솔에 만든다
  • 튜터링/2011/어셈블리언어 . . . . 1 match
          * c 프로그램에 어셈블리 사용
  • 파스칼삼각형 . . . . 1 match
         || 도전자 || 총개발시간 || 소스라인수('''주석제외''') || 사용언어 || Source ||
  • 파스칼삼각형/구자겸 . . . . 1 match
         최소 배열로 만든 삼각형입니다. 어떤분이 전화로 질문 하셔서 모르겠다고 했는데, 완성해버렸습니다. 필요한 배열공간은 시그마n 이 되는군요. 비쥬얼 스튜디오가 없어서 파이썬으로 만들어봤습니다.(코드가 상당히 지저분하네요-_-) 파이썬을 깔고 pascal.py로 저장한 다음에 명령콘솔창에서 "pascal.py 10"이런식으로 사용.
  • 파이썬->exe . . . . 1 match
         win32com 에 있는 것들을 사용해서 프로그램을 만들고 나면..
  • 파일 입출력_3 . . . . 1 match
          fprintf( fpt_1, "a = %d \nb = %d \nc = %d", a,b,c); //printf와 사용법 비슷
  • 프로그래머가지녀야할생각 . . . . 1 match
         DeleteMe--우선 윗글에서 (확실히) 불분명한 두 단어를 사용하였는데 하나는 ["programmer"]이고 다른것은 ["생각"]이라는 단어입니다. 우선 단어 정의가 필요한거 같은데..대충 비슷하게는 생각할꺼 같은데 정교화가 필요할꺼 같군요. 재밌고 유익한 토론이 되었으면 합니다.
  • 프로그래밍/ACM . . . . 1 match
         Java 언어 사용
  • 프로그래밍/장보기 . . . . 1 match
         타이머를 켜놓고 시간을 우선시하다보니 역시 Refactoring을 하고 싶지 않았다. 요구사항을 읽고 감이 팍 오는 문제는 그냥 막 코딩하는 식이다. main에 확 집어 넣고 풀어도 그냥 풀린 문제를 굳이 메소드로 나누고 여러 군데에서 사용되는 변수를 필드화하는 것이 정말 귀찮았다. 하지만 그러한 방식으로 전환하고 습관화하는 능력을 키워야 겠다.
  • 프로그래밍잔치/둘째날후기 . . . . 1 match
         전자수첩을 하기로 하고.. 샌드위치를 먹으며 각자의 역할과 작은 팀을 나누었고 칠피에 올라가서 시작.. 언어는 C++, MFC 툴킷을 사용하기로 했다. 그러나.. 총 개발시간의 절반을 MFC 와 싸우다가.. 인수군의 제안과 창섭군과 은지누나의 동의로 JAVA 로 언어를 바꾸고.. 인수군은 전자계산기를 기웅군, 은지누나와 페어를 하며 짜고 창섭군은 상욱군과 함께 전화번호부를 짜던 중 창섭군의 JAVA 실력 부재와 swing 경험 부족으로 인해(ㅜ.ㅜ) 은지누나와 상욱은 페어를 바꾸고.. 결국 어설픈 틀의 전화번호부와 계산기를 합치고 C++ 로 짜여진 상욱군의 만년달력을 끝으로 시간종료.
  • 프로그래밍잔치/첫째날 . . . . 1 match
          * ZeroWiki를 사용할때 지켜야할 제 1 원칙을 제시 한다.
  • 프로그래밍파티 . . . . 1 match
         또한 뒷풀이에 대한 문서화, 기록 작업을 하는 게 좋습니다(기록하기 위해서 기록하는 것은 아닙니다. 사용되어지고 읽히기 위해 기록합니다). "참 재미있었어요!"나 "아무개씨는 참 재미있는 사람이고, 홍길동씨는 인상이 좋고.."같은 통신 공간의 상투적 "후기"를 말하려는 것이 아닙니다.
  • 호너의법칙 . . . . 1 match
          * 파일 출력 사용.
  • 호너의법칙/조현태 . . . . 1 match
         그리고 제가 사용한 컴파일러(비주얼 .NET) 은 저에게 말하면 미소녀는 무료, 일반인은 밥 한끼, 미소년은 무한끼에 FTP나 HTTP로 제공해드리고 있습니다.^^
  • 홍길동 . . . . 1 match
         개인 사용자의 예제 페이지 입니다. 이와 유사하게 꾸밀 필요는 없으며, 꾸밀 내용이 생각나지 않으실때 쓰세요.
  • 회비 . . . . 1 match
         = 사용된 회비 =
  • 후기 . . . . 1 match
         대안언어가 보여준 많은 새로운 생각이 널리 퍼지지 않아 안타깝다. 혁신을 이루려면 많은 사람이 그 아이디어를 받아들여야 한다던데, 대안언어축제 이후에 어떠한 변화가 있을까? 새로운 아이디어를 적용한 코드를 작성할 수 있을까? 새로운 프로그램을 만드려고 할 때, 현재 사용하는 언어보다 더 적당한 언어를 선택할 수 있을까? 기존에 개발하던 프로그램이 있을 때는 새로운 언어로 갈아탈 수 있을까? 창의적인 아이디어와 실용성 사이 간격을 좁혀서 대안언어가 정말로 대안이 되길 꿈꿔본다.
Found 1421 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 1.7627 sec